J'ai besoin d'obtenir le rôle associé à un utilisateur - pas "l'utilisateur actuellement connecté".
J'utilise Buddypress (ce n'est pas important pour la nature de cette question) et je suis dans la bp_members()
boucle.
Comment puis-je récupérer le rôle de l'utilisateur sur lequel je fais un rapport dans la boucle à un moment donné?
Merci.
user-roles
frank13
la source
la source
Si
bp_members
renvoie un tableau d'WP_User
objets, chacun doit avoir une propriétéroles
qui contient un tableau des rôles d'utilisateurs.Sinon, vous pouvez utiliser
get_user_meta
pour la cléwp_capabilities
, qui renverra un tableau derole => capability
paires:la source
$user->ID
rôle de. Un seul rôle car aucun utilisateur de notre système ne se voit attribuer plus d'un rôle.$roles[0]
, terminé.Si je comprends bien, cela a probablement changé au fil des ans, maintenant ce n'est pas le cas
'wp_capabilities'
. J'ai regardé les fichiers WP principaux, comment ils le font maintenant, et j'ai trouvé une nouvelle solution à cela. Voici le code que j'utilise maintenant:$cap
vient ensuite comme un tableau associatif, par exemple:ou
Donc, dans votre cas, vous devriez probablement récupérer les clés du tableau:
et puis tout en tirer. J'avais besoin de voir si l'utilisateur avait le rôle d'administrateur, j'ai donc vérifié:
J'avais un ID utilisateur, pas tout l'
WP_User
objet, et je ne voulais pas utiliser de solution qui créerait l'user
objet. Comme je l'ai vérifié,get_user_meta
va directement à la base de données pour vérifier ce paramètre exact, donc cela devrait être l'itinéraire le plus rapide et le plus efficace en termes de ressources.la source