如何在wordpress中获取当前登录用户的角色?

问题描述:

如何在wordpress中获取当前登录用户的角色?如何在wordpress中获取当前登录用户的角色?

假设你有用户ID($ user_ID的)这样的事情应该工作:

$user = new WP_User($user_id); 

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

从会话获取用户ID。

+0

谢谢,这对我有用。 – Ravi 2009-09-22 06:57:00

如果不知道用户ID,这个功能会帮你(把它放在你的主题functions.php文件)

function get_user_role() { 
    global $current_user; 

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

    return $user_role; 
} 

,然后在你的模板中,您可以通过调用获取用户角色get_user_role()。

找到它here

+0

如果我在用户中添加了两个或更多角色,则此方法不适用,原因是它仅返回正在添加到用户的单个或第一个角色,使用array_shift PHP函数进行移位。 – 2014-03-06 15:27:50

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; 

}