角色存储在全局变量中$wp_roles
.
The ideal function is get_editable_roles()
从…起/wp-admin/includes/user.php
function get_editable_roles() {
global $wp_roles;
$all_roles = $wp_roles->roles;
$editable_roles = apply_filters(\'editable_roles\', $all_roles);
return $editable_roles;
}
“可编辑”部分是因为它为其他插件提供了筛选列表的机会,以防管理员以外的其他插件
\'edit_users\'
权限(因此需要从列表中删除“admin”,否则用户可以将自己设置为admin)。用于创建自定义角色的角色管理插件将使用该过滤器。否则,此函数本质上是
get_roles()
(不存在)。
想必你的插件只会向具有管理级别功能的人提供有问题的设置页面,比如\'manage_options\'
并且基本上是一个管理员,可以访问所有角色,因此过滤器不应该影响您。
There is also wp_dropdown_roles()
这给了你以下角色<option>
a的字段<select>
列出(虽然在许多情况下,复选框可能会更好地用于选择谁有权访问某些内容)。