Désactiver la confirmation de déconnexion du back-office de WordPress

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 :

  1. Ajout d’une action: add_action('check_admin_referer', 'logout_without_confirm', 10, 2);

    • Cela lie notre fonction logout_without_confirm à l’action check_admin_referer, qui est déclenchée lors de la vérification du nonce (un jeton de sécurité) dans les demandes administratives.
  2. Définition de la fonction:

    • La fonction logout_without_confirm est définie avec deux paramètres : $action et $result.
  3. 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é.
  4. 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ètre redirect_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 fonction wp_logout_url($redirect_to), qui génère une URL de déconnexion sécurisée pour l’utilisateur. La fonction str_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, et die; termine l’exécution du script.

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. 

Besoin d'un code personnalisé ?

Dire merci, c'est bien aussi.

Partagez cet article

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x

Vous avez une question ?

Vous avez une question sur un article ?
Découvert un bug inexpliqué ? 😱
Ou vous avez des articles à me soumettre ? 🤔
N’hésitez pas à me contacter, je serais ravi de vous aider.

Parce que chaque projet est unique !

Pour une meilleure compréhension, merci de décrire au maximum votre projet, vos besoins, vos attentes…
Vous préférez en parler au téléphone, n’hésitez pas, je suis à votre écoute : 06 35 31 45 64

Tes modifications ont bien été sauvegardées

Bravo !

Vous êtes maintenant inscrit.

Votre réponse a bien été publiée

Votre demande a bien été envoyé, merci.

Le délai de réponse peut varier de 24h à 48h.
Merci de votre compréhension

J'ai besoin d'aide pour mon projet !

Sujet :
Désactiver la confirmation de déconnexion du back-office de WordPress