Comment vérifier quel est le rôle de l’utilisateur en cours dans WordPress ?

février 2020

Quentin

Parfois, vous pouvez avoir besoin de distinguer le contenu de votre site en fonction de l’utilisateur qui le parcourt. Par exemple, vous avez peut-être besoin d’afficher un contenu seulement aux administrateurs du site.

Voici comment vous pouvez procéder. Ouvrez le fichier « functions.php » à la racine de votre thème et collez le code suivant dedans :

function current_user_is($role){
    $current_user = wp_get_current_user();
    if($current_user->data->ID != 0){
        if(in_array($role, $current_user->roles)){
            return true;
        }
        else {
            return false;
        }
    }
    else{
        return false;
    }
}

Voici ce que fait cette fonction :

  1. On récupère l’utilisateur courant avec la fonction « wp_get_current_user() »
  2. On vérifie si l’identifiant de l’utilisateur est différent de 0
    1. Si c’est le cas, cela veut dire qu’il y a bien un utilisateur en cours. On vérifie alors si le rôle donné en paramètre est présent dans la liste des rôles de l’utilisateur
    2. Sinon, on retourne « false »

Pour l’utiliser dans votre thème, c’est très simple, vous pouvez l’utiliser à n’importe quel endroit de la manière suivante :

<?php if(current_user_is('administrator')) : ?>
    <p>Je suis un administrateur !</p>
<?php endif; ?>

Vous pouvez utiliser cette fonction pour tous les rôles disponibles dans WordPress :

  • administrator
  • editor
  • author
  • contributor
  • subscriber

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *