web-dev-qa-db-fra.com

Obtenir le type d'utilisateur d'un auteur

Je travaille sur un site et je dois connaître le type d'utilisateur correspondant à l'auteur pour pouvoir le marquer.

L'idée est que si un utilisateur de niveau administrateur poste quelque chose, il possède une balise [ADMIN] ou quelque chose à côté de son nom. Je sais comment comparer les choses au sein de php, mais comment puis-je vérifier quel type d'utilisateur est un auteur si possible? Je n'arrive pas à trouver une bonne documentation à ce sujet.

2
Jem

Une solution serait d'utiliser la fonction get_the_author_meta et de la transmettre user_level

Plus d'infos sur la fonction: http://codex.wordpress.org/Function_Reference/get_the_author_meta

Ensuite, consultez ce tableau pour convertir les niveaux utilisateur en rôles (sauf si vous avez créé des rôles personnalisés): http://codex.wordpress.org/Roles_and_Capabilities#User_Level_to_Role_Conversion

Exemple de code

$level = get_the_author_meta('user_level');

if($level >= 8) { // Is admin
    // do something
} else if ($level > 2 && $level < 8) { // is editor
    // do something else
}
0
5t3ph

dans la boucle:

the_author_meta('user_level'); 

vous obtiendrez le numéro de capacité de l'auteur. ce qui est proche, mais pas tout à fait ce que vous voulez .... bien que vous puissiez traduire cela dans les rôles par défaut WP.

pour obtenir les rôles, vous pouvez procéder comme suit (ce qui crache TOUS les rôles d’un utilisateur):

$user = new WP_User( get_the_author_meta('ID'));

if ( !empty( $user->roles ) && is_array( $user->roles ) ) {
    foreach ( $user->roles as $role )
        echo $role;
};

http://wordpress.org/support/topic/get-a-users-role-by-user-id?replies=20#post-1363118

0
helgatheviking