2009-09-22 5 views

Répondre

13

En supposant que vous avez l'ID utilisateur (user_id $) quelque chose comme cela devrait fonctionner:

$user = new WP_User($user_id); 

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

obtenir l'ID utilisateur de votre session.

+0

Merci, cela fonctionne pour moi. – Ravi

7

Si vous ne connaissez pas l'ID utilisateur, cette fonction vous aidera (mettez dans votre fichier thème functions.php)

function get_user_role() { 
    global $current_user; 

    $user_roles = $current_user->roles; 
    $user_role = array_shift($user_roles); 

    return $user_role; 
} 

Et puis, dans votre modèle, vous pouvez obtenir le rôle de l'utilisateur en appelant get_user_role(). Il a été trouvé here.

+0

Cette méthode n'est pas applicable si j'ai deux ou plusieurs rôles ajoutés dans un utilisateur, la raison en est que seul le premier ou le premier rôle qui est ajouté à l'utilisateur, déplacé en utilisant la fonction PHP array_shift. –

0
function get_role_by_id($id) { 

    if (!is_user_logged_in()) { return false; } 

    $oUser = get_user_by('id', $id); 
    $aUser = get_object_vars($oUser); 
    $sRole = $aUser['roles'][0]; 
    return $sRole; 

} 
Questions connexes