WordPress默认只可以为用户分配一个角色,也就是说,每个用户只能有一个角色,如果一个用户是编辑,他就不能同时是作者。
WordPress默认的几个角色所拥有的权限是递增的,管理员拥有网站所有的权限,编辑少一些,包含了作者、订阅者的所有权限;作者权限更少,同时也包含了贡献者的权限。所以在默认的角色系统中,用户只需要拥有一个角色就可以了。
为什么需要让用户拥有多个角色
如果我们需要基于WordPress开发一个B2C的商城系统,在这个系统中,我们新增了商家和消费者这两个角色,。该系统允许一个用户既可以是商家,也可以是消费者。实现方法很简单,给这个用户分配两个角色就可以了。
本文介绍的插件为我们实现了这个功能,安装启用这个插件后,我们编辑某个用户的时候,就可以像下图那样,直接为用户选择多个用户角色。
通过代码为用户添加多个角色
除了使用上面的插件为用户添加多个角色,如果需要,我们还可以用编程的方式为用户添加多个角色,代码很简单,示例如下:
//获取某个用户
$user = get_user_by('ID', 100);
//为该用户添加角色
$user->add_role('vendor');
$user->add_role('customer');
通过这个特性,我们不难看出,WordPress的用户角色权限系统也是非常强大的,足够我们开发各种个样的应用来使用。