2009-09-22 9 views

Antwort

13

Angenommen, Sie haben die Benutzer-ID ($ user_id) so etwas wie dies funktionieren sollte:

$user = new WP_User($user_id); 

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

die Benutzer-ID aus der Sitzung übernehmen.

+0

Danke, das funktioniert für mich. – Ravi

7

Wenn Sie nicht die Benutzer-ID kennen, wird diese Funktion hilft Ihnen (Put es in Ihrem Thema functions.php Datei)

function get_user_role() { 
    global $current_user; 

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

    return $user_role; 
} 

Und dann in der Vorlage können Sie Benutzerrolle erhalten durch den Aufruf get_user_role().

Gefunden here.

+0

Diese Methode ist nicht anwendbar, wenn ich zwei oder mehr Rollen in einem Benutzer hinzugefügt habe. Der Grund ist, dass nur einzelne oder erste Rollen zurückgegeben werden, die dem Benutzer hinzugefügt werden, die mit der PHP-Funktion array_shift verschoben werden. –

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; 

} 
Verwandte Themen