J'ai une exigence assez spécifique pour afficher un texte différent dans une étiquette de champ sur la page de profil de l'utilisateur en fonction du rôle de l'utilisateur actuel. Je n'arrive pas à comprendre comment vérifier si l'utilisation actuelle est un "auteur".
Je cherche une fonction comme:
is_user_in_role($user, "author");
J'imagine que c'est assez simple, mais j'ai trop longtemps cherché sans réponse, alors j'ai pensé le poster ici.
wp-admin
users
user-roles
Jessegavin
la source
la source
Je cherchais un moyen d'obtenir le rôle d'un utilisateur à l'aide de son identifiant. Voici ce que je suis venu avec:
Ensuite, une
is_user_in_role()
fonction pourrait être implémentée comme suit:la source
Vous pouvez également simplement créer un nouvel objet utilisateur:
Vous ne savez pas quelle version a
get_user_roles_by_user_id
été supprimée, mais ce n'est plus une fonction disponible.la source
Voici une fonction qui accepte un utilisateur et un rôle pour plus de flexibilité:
la source
L'appel de rôles sur l'objet utilisateur
$user->roles
ne renvoie pas tous les rôles. La manière correcte de déterminer si l'utilisateur a un rôle ou une capacité est la suivante. (Cela fonctionne dans les versions 2.0.0 et supérieures de wp.) La fonction suivante fonctionne avec un ID utilisateur, vous pouvez obtenir le$current_user_id = get_current_user_id();
la source