web-dev-qa-db-fra.com

Comment obtenir le nom de rôle de l'utilisateur actuel? (WordPress)

J'ai actuellement cet extrait:

$user = new WP_User(get_current_user_id()); 
echo $user->roles[1];

et la sortie du slug du rôle du forum bbPress. (rôles [0] serait le rôle général WP mais je n'en ai pas besoin.)

Ce dont j'ai besoin, c’est le rôle name , pas la limace. Ainsi, le résultat attendu devrait être quelque chose comme "Keymaster", "Participant", "Spectator" etc.

Alors, comment puis-je obtenir le nom de rôle de l'utilisateur actuel?

1
booster

Je ne sais pas si bbPress suit les conventions WordPress, mais WP a une classe globale appelée $WP-roles qui contient les informations sur le rôle. Donc, à partir de ce que vous avez, il y a le rôle de l'utilisateur actuel:

$current_role = $user->roles[1];

Ensuite, récupérez une liste de tous les rôles:

$all_roles = $wp_roles->roles; 

Ensuite, parcourez $all_roles et recherchez le $current_role":

foreach ($all_roles as $role_key => $role_details) {
  if ($role_key == $current_role) $current_role_name = $role_details['name'];
  }

Maintenant, $current_role_name devrait contenir le nom d'affichage que vous cherchez (je n'ai pas vérifié ce code, cependant).

2
cjbj