Estoy creando usuarios manualmente mediante programación, y quiero iniciar sesión en el usuario recién creado. WP facilita el acceso a la contraseña hash, pero no a la versión de texto sin formato. ¿Hay alguna manera de usar wp_signon () sin la contraseña de texto sin formato?
Encontré una persona que dice haber hecho esto aquí , pero no funcionó para mí.
¡GRACIAS!
login
authentication
emersonthis
fuente
fuente
Respuestas:
wp_set_auth_cookie()
iniciará sesión en un usuario sin tener que conocer su contraseña.fuente
is_user_logged_in()
no parece funcionar. ¿Sabes si se trata de algo diferente a las cookies?wp_set_current_user
antes de iniciar sesión.wp_set_auth_cookie()
a mi función de inicio de sesión. Creo que tengo que repensar eso. También buscaré wp_set_current_user e informaré de nuevo. ¡Muchas gracias por tu ayuda en esto!¡El siguiente código hace el trabajo para el inicio de sesión automático, sin ninguna contraseña!
fuente
get_user_by()
devuelve falso en caso de error, por lo que debe verificar falso en lugar del objeto WP_ErrorHe encontrado otra solución aquí que utiliza un mejor enfoque (al menos en mi opinión ...). No es necesario configurar ninguna cookie, utiliza la API de Wordpress:
Creo que el código se explica por sí mismo:
El filtro busca el objeto WP_User para el nombre de usuario dado y lo devuelve. Una llamada a la función
wp_set_current_user
con el objeto WP_User devuelto porwp_signon
, una verificación con la funciónis_user_logged_in
para asegurarse de que está conectado, ¡y eso es todo!¡Un código bonito y limpio en mi opinión!
fuente
$credentials
está vacía o no. Si la matriz no está vacía (que es el caso en mi respuesta), los valores de la matriz se utilizan para autenticar al usuario.Esto funciona bien para mi:
fuente
Además de Mike, Paul y Sjoerd:
Para manejar mejor las
login.php
redirecciones:Para ser colocado
wp-config.php
justo despuésFYI
Basado en la solución anterior, he lanzado un complemento para mantener al usuario conectado de un wordpress a otro sincronizando los datos del usuario y la sesión de cookies:
https://wordpress.org/plugins/user-session-synchronizer/
fuente