Image

Acciones en WordPress para log in & log out

Cuando accedemos a nuestros sitios de WordPress lo hacemos ingresando un usuario y contraseña en dominio/wp-admin. Una vez que los datos son validados, WordPress crea una sesión que nos permite navegar por el panel de administración para hacer determinadas tareas y una vez terminadas, cerramos la sesión.

Una de las funciones a las que más recurro es is_user_logged_in() la cual sirve para saber si está logueado o no el usuario que está navegando el sitio. Esto es muy práctico cuando se está trabajando con archivos de WordPress (como el tema, por ejemplo). La pregunta es, ¿qué pasa cuando quiero saber si un usuario esta logueado o no en el sitio desde archivos que no son de WordPress?

Para darle solución a esto, partamos desde el punto que tanto la instalación de WordPress como los archivos donde necesitas saber si está logueado un usuario están bajo el mismo dominio. Veamos las siguientes líneas que debes agregar al functions.php de tu tema.

Lo que hacemos aquí son dos cosas

  1. Agregar un action que ocurre cuando un usuario accede al administrador del sitio.
  2. Agregar un action que ocurre cuando el usuario cierra sesión en el sitio.

Es decir, que cuando un usuario hace log in creo una sesión que guarda el id del usuario y cuando hago log out destruyo esa sesión. Al ser una sesión bajo un dominio.(algo) se puede recurrir a ella ya sea desde dentro o fuera de los archivos de WordPress.

Partiendo de estas líneas de código como base puedes hacer cualquier cosa que quieras cuando necesites saber si un usuario está logueado desde archivos que no estén dentro de WordPress.

Si quieres saber más sobre acciones puedes ver la documentación oficial de WordPress.

Recuperar la contraseña de WordPress facilmente con functions.php