如何在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。
答
如果不知道用户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;
}
谢谢,这对我有用。 – Ravi 2009-09-22 06:57:00