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 :
- On récupère l’utilisateur courant avec la fonction « wp_get_current_user() »
- On vérifie si l’identifiant de l’utilisateur est différent de 0
- 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
- 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
PS: n'oubliez pas de lire mon tutoriel principal sur comment créer un thème WordPress !