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'] = 'Owner';
$wp_roles->role_names['administrator'] = 'Owner';
}
add_action('init', 'wpdx_change_role_name');
新增用户角色
将下面的代码添加到当前主题的 functions.php ,就可以添加一个名为 Basic Contributor 的用户角色
add_role('basic_contributor', 'Basic Contributor', array(
'read' => true, // 使用 true 表示包含这个权限
'edit_posts' => true,
'delete_posts' => false, // 使用 false 表示不包含这个权限
));
参考与拓展
add_role() 函数:http://codex.wordpress.org/Function_Reference/add_role
WordPress用户角色编辑插件:User Role Editor
来源:
https://www.wpdaxue.com/change-wordpress-role-name-add-new-role.html