WordPress 本身自带 5 个用户角色,分别为订阅者、贡献者、作者、编辑和管理员。这 5 个用户角色分配了不同的用户权限,方便管理 WordPress 用户的权限。
但是,WordPress 自带的用户角色可能不一定适用于我们的站点。因此,我们可能需要修改用户角色的名称,甚至是删除某些用户角色,然后新增所需的自定义用户角色。例如,某个资源站点并不需要作者、订阅者之类的用户角色,那我们该如何删除用户角色,又该如何新增自定义用户角色呢?
1、WordPress 修改用户角色
1、修改“订阅者”为“游客”案例
// WordPress 修改用户角色名称
add_action('init', 'fanly_change_role_name');
function fanly_change_role_name() {
global $wp_roles;
if ( ! isset( $wp_roles ) ) {
$wp_roles = new WP_Roles();
}
$wp_roles->roles['subscriber']['name'] = '游客';
$wp_roles->role_names['subscriber'] = '游客';
}
使用方法
1、将上面的代码复制到 WordPress 主题的 functions.php 文件中。
2、修改第 6、7 行中你想要编辑的用户角色名称,保存即可。
3、完成上面步骤后,在后台“用户”->“添加用户”时,在角色选择中可以看到你所修改的用户角色的新名称。
2、WordPress 添加用户角色
// WordPress 添加用户角色
add_role('custom_role', '自定义角色', array(
'read' => true, // 阅读权限,true 表示允许
'edit_posts' => true, // 编辑文章的权限,true 为允许
'delete_posts' => false, // 删除文章的权限,false 表示不允许删除
));
使用方法
修改第 2 行“自定义角色”为你想要设置的用户角色名称,其他步骤与“WordPress 修改用户角色”的步骤相同。
添加成功后,即可在添加用户时查看新增的自定义用户角色。
3、WordPress 删除用户角色
// WordPress 删除用户角色
remove_role( 'contributor' ); // 贡献者
remove_role( 'subscriber' ); // 订阅者
remove_role( 'author' ); // 作者
remove_role( 'editor' ); // 编辑
使用方法
将上面的代码复制到 WordPress 主题的 functions.php 文件中,即可删除对应的用户角色。
注意:删除用户角色是一个不可逆的操作,请谨慎执行。在删除前,请确保没有用户正在使用该角色,或者已将这些用户重新分配到其他角色。