WordPress 中默认的用户角色有5种,权限由上到下并且向下兼容,但这些角色的名称和权限默认是不能编辑的,通过本文的介绍,你将可以更改默认的用户角色的名称和用户修改角色。
以修改“订阅者”为“忠实会员”为例,复制下面的代码到 WordPress 主题的 function.php 文件中。
function wps_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'] = '忠实会员';
}
add_action('init', 'wps_change_role_name');
对照修改第5、6行中你想要编辑的角色英文名称(小写字母)所对应的中文名称,保存之后,新增用户时,在角色选择中可以看到你所修改的用户角色的新名称。
在 WordPress 中,只要角色之间的能力互不冲突(一般情况下不会发生这种事情),同一个用户可以同时有多种角色。在获取用户对象之后,可以使用下面的方法设置/移除用户的权限:
//添加某个权限
$user->add_role( $role_name );
//限定用户只有一种角色
$user->set_role( $role_name );
//移除用户权限
$user->remove_role( $role_name );
我们给某个用户设置权限以后,我们还应该给她分配相应的动画,他拥有这个权限以后可以干些什么:
// 检查给定用户是否有某种能力/权限或者角色
if ( $user->has_cap( $cap_name ) ) {
// 做点儿啥
}
如果 WordPress 的默认用户角色不能满足,你可以通过代码自定义添加用户权限,通过下面的代码
add_role( 'pama', '黄金会员', array('read'=>true,'level_0'=>true) );