角色存储在全局变量中$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> 列出(虽然在许多情况下,复选框可能会更好地用于选择谁有权访问某些内容)。