WordPress 修改、添加、删除新用户角色
WordPress 自带了多个默认的用户角色,比如 超级管理员(多站点)、管理员、编辑、作者、投稿者、订阅者。在实际使用中,如果我们需要更改这些默认的用户角色名称,或者添加新的用户角色,该如何操作呢?今天就来说说说通过代码实现的方式。
修改用户角色名称
将下面的代码添加到当前主题的 functions.php ,可以将 administrator 这个角色名修改为 Owner,你可以根据实际需要照样画葫芦就可以了。
/**
* WordPress 修改用户角色名称和添加新用户角色
* https://www.wpdaxue.com/change-wordpress-role-name-add-new-role.html
*/
function wpdx_change_role_name() {
global $wp_roles;
if ( ! isset( $wp_roles ) )
$wp_roles = new WP_Roles();
//你可以像这样所列出当前所有有效的用户角色...
//$roles = $wp_roles->get_names();
//print_r($roles);
//你可以使用其他角色名称替换 "administrator" , "editor", "author", "contributor" 或 "subscriber"...
$wp_roles->roles['administrator']['name'] = '我的权限'; //修改常规选项中用户角色和添加用户页面角色
$wp_roles->role_names['administrator'] = '我的权限'; //修改用户目录中角色
}
add_action('init', 'wpdx_change_role_name');
效果:
新增用户角色
将下面的代码添加到当前主题的 functions.php ,就可以添加一个名为 Basic Contributor 的用户角色,此代码执行一次就可以了,即执行一次就已经写入数据库,执行一次就可以删除了。
//WordPress 添加用户角色
add_role('custom_role', 'Basic Contributor', array(
'read' => true, //阅读权限,true 表示允许
'edit_posts' => true,//编辑文章的权限,true 为允许
'delete_posts' => false, //删除文章的权限,false 表示不允许删除
));
三、WordPress 删除用户角色
复制如下代码到 wordpress 主题的 functions.php 文件中:
//WordPress 删除用户角色 remove_role( 'contributor' );//投稿者 remove_role( 'subscriber' );//订阅者 remove_role( 'author' );//作者 remove_role( 'editor' );//编辑 remove_role( 'custom_role' );//删除上面添加的Basic Contributo角色
参考与拓展
add_role() 函数:http://codex.wordpress.org/Function_Reference/add_role



