Obtenir le rôle d’un utilisateur WordPress

Mis à jour le :

Un utilisateur WordPress est toujours associé à un rôle (abonné, contributeur, auteur, éditeur et administrateur) auquel sont associées des capacités (publier un contenu, modifier les réglages, etc.).

Si vous souhaitez afficher sur votre site le rôle d’un utilisateur, quelques lignes de code seront nécessaires.

Pour obtenir le rôle de l’utilisateur connecté, insérez ces quelques lignes là où l’information doit être affiché. Vous pouvez également passer par une fonction PHP si vous comptez réutiliser ce code plusieurs fois.

Le code fait la chose suivante : on récupère l’ID de l’utilisateur puis on parcourt ses données le concernant et on récupère ainsi le rôle. La fonction echo permet l’affichage du nom de l’utilisateur et de son rôle.

<?php 
$user_id = get_current_user_id();
$user_info = get_userdata($user_id);

if($user_info) {
echo 'Username: '.$user_info->user_login.'<br />';
echo 'User roles: '.implode(', ', $user_info->roles).'<br />';
// Attention : $user_info->roles retourne un tableau
}
?>

Libre à vous d’adapter ce code afin de remonter d’autres informations sur l’utilisateur connecté.

Avatar de Aurélien Denis

Protégez votre site WordPress

Vos données sont précieuses,
ne prenez pas le risque de tout perdre.
Confiez-moi votre maintenance !

Ces articles devraient t’intéresser…

6 réponses
  1. Avatar de Jean-Thierry
    Jean-Thierry

    Bonjour

    Moi je cherche comment changer le role directement dans la base de données.
    Merci

  2. Avatar de WaZeR
    WaZeR

    D’accord, je vais essayer ^^
    Bah c’est vrai que niveau php, c’est pas encore tout à fait ça 😀

  3. Avatar de WaZeR
    WaZeR

    Bonjour, merci pour le tuto 🙂

    Je vais paraître un peu chiant ^^ mais je ne sais pas où mettre le code pour afficher le role à côté du pseudo, dans mon « comments.php »
    Si vous savez, merci de m’aider 😀
    Je peux voir partager mon fichier si ça peut aider.

    1. Avatar de Aurélien Denis
      Aurélien Denis

      Hello,

      il faut identifier la fonction qui modifie l’affichage de tes commentaires. Généralement, un callback dans comments.php est défini et renvoie au fichier functions.php de ton thème. En faisant une recherche sur les avatars, tu devrais parvenir à identifier cette boucle et donc à placer le code au bon endroit. Pas évident je te l’accorde…

  4. Avatar de spykrew07
    spykrew07

    Plus rapide comme ça non ? http://pastebin.com/H8p7m9mn

    1. Avatar de Mickaël Gris
      Mickaël Gris

      Hello,

      Effectivement, j’ai testé en front ça marche et c’est plus court 🙂 .

      Par contre, il me semble que dans certains cas la variable « $current_user » n’est pas définie, et donc ne retourne rien ! C’est notamment le cas dans les mu-plugins.
      Du coup, en partant de la fonction get_userdata(); on est sûr que ça fonctionne dans tous les cas !