Dans ma page wordpress, j'ajoute l'élément Login-logout au menu principal à l'aide du code (dans functions.php) ci-dessous:
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;
}
Lorsque la connexion est effectuée à l'aide de ce bouton, il convient de rediriger la page actuelle sur laquelle vous cliquez sur la connexion. Comment puis je faire ça?
Je pense que wp_loginout('index.php')
doit changer car après la connexion et la déconnexion, je suis redirigé vers la page d'accueil. Que devrais-je écrire pour aller à la page précédente?
wp_loginout
accepte deux arguments, $redirect
(chaîne) et $echo
(booléen). Vous pouvez spécifier l'URL de la page à rediriger après la connexion ou la déconnexion avec le paramètre $redirect
. Dans votre code actuel, $redirect
est 'index.php'.
Vous pouvez obtenir l'URL complète de la page en cours en utilisant
( is_ssl() ? 'https' : 'http' ) . '://' . $_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI']
cédant
wp_loginout( ( is_ssl() ? 'https' : 'http' ) . '://' . $_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI'] );
Cela devrait faire l'affaire!