Soy un novato en el desarrollo web, ya que los últimos días estoy luchando iniciar sesión a través del código php. Mi código PHP es el siguiente
//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();
cuando el código PHP se ejecuta en el servidor, aparece el siguiente error.
Error fatal: Error no detectado: Llamada a la función indefinida do_action_ref_array () en / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user. php: 57 Seguimiento de pila: # 0 /Users/meenalgupta/Sites/wordPress/mysite/wp-admin/mypage.php(38): wp_signon (Array, 0) # 1 {main} incluido en / Users / meenalgupta / Sites / wordpress / mysite / wp-includes / user.php en la línea 57
Mi versión de wordpress es 4.4.1.
Por favor, deje ¿Sé qué hacer?
Comentarios
Responder
Debe VINCULAR los códigos en acción (puede usar plugins_loaded
para la etapa más temprana):
add_action("plugins_loaded", "my_func"); function my_func(){ // ======== HERE YOUR CODES =========// }
ps ¡Tienes que incluir el archivo correctamente!
include_once(ABSPATH."wp-includes/user.php");
Responder
Probablemente llames wp_signon
demasiado pronto. Primero debe dejar que se cargue todo el núcleo de wordpress antes de llamarlo
Comentarios
- gracias por la respuesta, pero ¿pueden ayudarme sobre cómo para permitir que se cargue todo el núcleo de wordpress?
- @MeenalGupta, de su comentario sobre la pregunta, simplemente lo está haciendo mal, no debe agregar nada a los directorios del núcleo de wordpress y no debe acceder directamente a ningún archivo que no está en el directorio raíz de wordpress o en el punto final de ajax. Sin más contexto sobre lo que realmente quiere hacer, es difícil ser más específico.
wp-admin/mypage.php
¿qué es eso?wp-admin
y está intentando cargar WordPress manualmente. @Meenal Gupta ¿POR QUÉ ESTÁS HACIENDO ESTO?