如何根据当前用户角色获取权限

时间:2011-10-13 11:00:01

标签: wordpress plugins

如何在wordpress中获得当前用户关于其角色的权限;

例如: -

如果输入为editor,则函数应返回delete_others_posts,如果输入为author,则结果将为delete_published_posts,依此类推......

提前致谢

2 个答案:

答案 0 :(得分:1)

获取当前用户角色的名称:

function get_current_user_role() {
   global $current_user;
   return array_shift($current_user->roles);
}

然后使用get_role($ role_name)函数,您可以获得具有所有功能的数组。

E.G:$capabilities = get_current_user_role();

另一种解决方案是使用返回true或false

的current_user_can($ capability_name)函数

完整解释:http://tomarea.fr/wordpress-roles-capacites-utilisateurs/

答案 1 :(得分:0)

要详细说明koma182的答案,请用get_role()var_dump包裹print_r,然后您将看到当前用户角色的功能:

function get_current_user_role() {
    global $current_user;
    return array_shift($current_user->roles);
}

然后你调用函数的地方:

var_dump(get_role(get_current_user_role()));

谢谢Koma!