Si vous utilisez WordPress, vous avez probablement remarqué que lorsque vous essayez de vous déconnecter, le système vous demande de confirmer cette action. Bien que cela puisse être utile pour prévenir des déconnexions accidentelles, cela peut également être perçu comme une étape supplémentaire et inutile par certains utilisateurs. Dans cet article, nous allons vous montrer comment modifier ce comportement en utilisant un simple bout de code, permettant ainsi une déconnexion instantanée sans demande de confirmation.
Le code
Voici le code qui permet de réaliser cette optimisation :
add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
function logout_without_confirm($action, $result)
{
/**
* Allow logout without confirmation
*/
if ($action == "log-out" && !isset($_GET['_wpnonce'])) {
$redirect_to = isset($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : 'votre_url';
$location = str_replace('&', '&', wp_logout_url($redirect_to));
header("Location: $location");
die;
}
}
Explication du code
Pour mieux comprendre le fonctionnement de ce code, décomposons-le étape par étape :
Ajout d’une action:
add_action('check_admin_referer', 'logout_without_confirm', 10, 2);
- Cela lie notre fonction
logout_without_confirm
à l’actioncheck_admin_referer
, qui est déclenchée lors de la vérification du nonce (un jeton de sécurité) dans les demandes administratives.
- Cela lie notre fonction
Définition de la fonction:
- La fonction
logout_without_confirm
est définie avec deux paramètres :$action
et$result
.
- La fonction
Vérification de l’action de déconnexion:
if ($action == "log-out" && !isset($_GET['_wpnonce']))
: Cette condition vérifie si l’action en cours est “log-out” et qu’il n’y a pas de nonce (_wpnonce) dans l’URL. Si ces conditions sont remplies, le code à l’intérieur de cette condition sera exécuté.
Redirection après déconnexion:
- La variable
$redirect_to
est définie pour déterminer vers quelle URL l’utilisateur doit être redirigé après la déconnexion. Si un paramètreredirect_to
est présent dans l’URL, il sera utilisé, sinon il se repliera sur ‘votre_url’. - La variable
$location
est ensuite définie en utilisant la fonctionwp_logout_url($redirect_to)
, qui génère une URL de déconnexion sécurisée pour l’utilisateur. La fonctionstr_replace
est utilisée pour s’assurer que tous les entités&
dans l’URL sont correctement converties en&
. - Enfin,
header("Location: $location")
redirige l’utilisateur vers l’URL spécifiée, etdie;
termine l’exécution du script.
- La variable
Conclusion
Ce bout de code simple mais efficace vous permet d’améliorer l’expérience utilisateur sur votre site WordPress en supprimant l’étape de confirmation lors de la déconnexion. En réduisant les frictions et les étapes inutiles, vous pouvez rendre votre site plus convivial et réactif.
Si vous souhaitez continuer à optimiser votre site WordPress pour le SEO et l’expérience utilisateur, assurez-vous de suivre nos prochains articles et tutoriels. De petites modifications comme celle-ci peuvent faire une grande différence dans l’efficacité globale de votre site.
Testé sur WordPress 6.3.3
Un nouveau projet WordPress ? Besoin d’aide ?
Contactez-moi ou visitez mon site et je me ferais un plaisir de vous aider.