Comment limiter WordPress à une seule connexion par compte ?

Comment limiter WordPress à une seule connexion par compte ?

Hey ! Aujourd’hui on va voir comment empêcher les connexions multiples sur un même compte WordPress. En gros, si quelqu’un est déjà connecté avec un compte et qu’une autre personne essaie de se connecter avec le même compte, la première personne sera déconnectée. Simple et efficace ! 🎯

La solution en 2 minutes

function prevent_multiple_logins($user_login) {
    // wp_destroy_all_sessions() va automatiquement cibler 
    // l'utilisateur qui vient de se connecter
    wp_destroy_all_sessions();
}
add_action('wp_login', 'prevent_multiple_logins', 10, 1);

Oui, c’est vraiment tout ! WordPress nous fournit une fonction magique wp_destroy_all_sessions() qui fait exactement ce qu’on veut.

Comment ça marche ?

  1. On se branche sur le wp_login, on kill toutes les sessions et on laisse WordPress faire
  2. Notre fonction utilise wp_destroy_all_sessions()
  3. Si un utilisateur se connecte avec une session déjà en cours ailleurs -> pouf il sera connecté mais déconnectera l’autre.
  4. Seule la nouvelle session reste active

Les cas d’utilisation

Cette fonctionnalité est super utile pour :

Points à noter

En résumé

WordPress nous simplifie vraiment la vie avec wp_destroy_all_sessions(). Pas besoin de réinventer la roue ou de créer des systèmes complexes. Une ligne de code, et le tour est joué ! 🚀

Des questions ? Des retours d’expérience ? N’hésitez pas à les partager en commentaires ! 💬