¿Cómo cerrar sesión a través de URL en WordPress?

2 minutos de lectura

Avatar de usuario de VeeZ Phone
Teléfono VeeZ

Tengo que cerrar la sesión de un usuario de un sitio de WordPress donde la barra superior está deshabilitada y no hay ninguna opción de cierre de sesión disponible en ninguna página.

¿Hay un enlace general para cerrar sesión en WordPress?

/wp-login.php?action=cerrar sesión

Es lo que se usaba en el pasado.

Referencias:

https://codex.wordpress.org/Function_Reference/wp_logout_url
https://developer.wordpress.org/reference/functions/wp_logout_url/

  • Este enlace le pedirá que confirme que desea cerrar la sesión, ya que falta el enlace.

    – usuario8230352

    20 de agosto de 2017 a las 9:40

  • Útil si marcó a un usuario como sin función para desactivarlo, luego intente iniciar sesión como él para probar que funcionó. El inicio de sesión está permitido, pero el acceso a wp-admin está denegado.

    – marca blanca

    10 de noviembre de 2021 a las 6:09

  • Realmente útil, me encontré bloqueado de un superadministrador multisitio. Sería una cuestión de borrar las cookies, pero no obstante

    – brasofilo

    ayer

Avatar de usuario de Platoscave
Platoscave

Creo que el mejor método es obtener el nonce y redirigir a la página de inicio:

<a href="https://stackoverflow.com/questions/45780352/<?php echo wp_logout_url( home_url()); ?>" title="Logout">Logout</a>

Podrías usar el wp_loginout() función que muestra un enlace de cierre de sesión si el usuario ha iniciado sesión o un enlace de inicio de sesión si no lo está.

Para agregar este enlace al menú de WordPress, marque este artículo. Básicamente, simplemente agregue el siguiente código a funciones.php:

add_filter('wp_nav_menu_items', 'add_login_logout_link', 10, 2);
function add_login_logout_link($items, $args) {
        ob_start();
        wp_loginout('index.php');
        $loginoutlink = ob_get_contents();
        ob_end_clean();
        $items .= '<li>'. $loginoutlink .'</li>';
    return $items;
}

¿Ha sido útil esta solución?