Estaría usando el código a continuación para que en mi sitio de wordpress si se agregue ?logout
al final de la URL, se cierre la sesión del usuario. Esto funciona bien: si el usuario visita una página como mysite.com/?logout
o mysite.com/test-page/?logout
o cualquier página donde la variable $_GET['logout']
esté configurada, se cerrará su sesión.
if( isset($_GET['logout']) ){
add_action('plugins_loaded', 'wp_logout',0);
}
El problema al que me enfrento es que incluso si agrego esta acción a plugins_loaded
, que se encuentra en la parte superior de la lista de enlaces de acción , la página que se mostrará seguirá mostrando al usuario que ha iniciado sesión. Si se actualiza la página en una carga posterior, se mostrará la versión "desconectada" de la página, pero no en la misma solicitud .
Pasos para recrear el problema:
- Agregue este código a un complemento o quizás a su archivo
functions.php
. Lo tengo en un archivo en el directoriomu-plugins
. - Inicia sesión en tu sitio de Wordpress.
- Visite una página o publique en su sitio, tal vez una con un cuadro de comentarios, y agregue
?logout
a la URL - La página se cargará normalmente, el cuadro de comentarios tendrá su nombre y mostrará que ha iniciado sesión y puede dejar una respuesta.
- Volver a cargar la página (con o sin '? login "adjunto a la url)
- La página ahora está desconectada
Comportamiento deseado
Después de iniciar sesión en Wordpress, al visitar una página con ?login
adjunto a la URL, se completará el proceso de cierre de sesión y se mostrará la página como si se hubiera cerrado la sesión cuando se carga, sin tener que actualizarla.
No creo que pueda conectarme a Wordpress antes, así que no estoy seguro de cómo solucionar esto.