Erro fatal: Erro não detectado: chamada para função indefinida do_action_ref_array () ao usar a função wp_signon

Estou iniciante no desenvolvimento web, desde os últimos dias estou lutando para faça login através do código php. Meu código PHP é o seguinte

//my php code @include_once "../wp-includes/user.php"; $creds = array( "user_login" => "abc", "user_password" => "abc", "rememember" => false ); $user = wp_signon( $creds, 0 ); if ( is_wp_error($user) ) echo $user->get_error_message(); 

quando o código PHP é executado no servidor, obtenho o erro abaixo.

Erro fatal: Erro não detectado: Chamada para a função indefinida do_action_ref_array () em / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user. php: 57 Stack trace: # 0 /Users/meenalgupta/Sites/wordPress/mysite/wp-admin/mypage.php(38): wp_signon (Array, 0) # 1 {main} lançado em / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user.php na linha 57

Minha versão do wordpress é 4.4.1.

Por favor, deixe eu sabe o que fazer?

Comentários

  • wp-admin/mypage.php o que é isso?
  • @toscho OP claramente criou um arquivo aleatório em wp-admin e está tentando carregar o WordPress manualmente. @Meenal Gupta POR QUE VOCÊ ESTÁ FAZENDO ISSO !?
  • mypage.php é apenas um arquivo de prática que criei em wp-admin. Quero fazer login no servidor, para poder postar no meu site local wordpress .

Resposta

Você deve BIND os códigos em ação (você pode usar plugins_loaded para o estágio inicial):

add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// } 

ps você deve incluir o arquivo corretamente!

include_once(ABSPATH."wp-includes/user.php"); 

Resposta

Você provavelmente liga wp_signon muito cedo. Você primeiro precisa deixar todo o núcleo do wordpress carregar antes de chamá-lo

Comentários

  • obrigado pela resposta, mas você pode me ajudar em como deixar todo o núcleo do wordpress carregar?
  • @MeenalGupta, pelo seu comentário sobre a questão, você está apenas fazendo errado, você não deve adicionar nada aos diretórios principais do wordpress e não deve acessar diretamente nenhum arquivo que não está no diretório raiz do wordpress ou no terminal ajax. Sem mais contexto sobre o que você realmente deseja fazer, é difícil ser mais específico.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *