wordpress的角色-roles权限-Capabilities用户层级-User Levels
上一篇教程中讲解了再自定义文章类型中capability_type和capabilities参数的用法,前面只是稍微浅显的说明了一下wordpress的角色、权限、用户级别。现在单独用一篇文章来详细说明。(文章参考了http://justintadlock.com/archives/2009/08/30/users-roles-and-capabilities-in-wordpress的内容)
用户
用户就是在你网站注册的人,他在你的网站有一个账户,用户并不是访问你网站的访客,就算他在网站上留下了内容(比如发表评论)。
用户是通过角色-roles来定义的,角色决定用户在网站中的位置,比如一些论坛,普通用户只能在前台发表帖子,而版主,可以进入版块管理页面。
角色-roles
在wordpress后台设置中我们可以很直观的看到,wordpress的用户角色有
- Administrator 管理员
- Editor 编辑
- Author 作者
- Contributor 贡献者
- Subscriber 订阅者
仅仅看到这个,我们还搞不明白角色的具体意义,下面我们具体看看角色到底是什么。
讲接下来的内容前,我们需要注意的有两点:
- 角色是没有分层级的
- 如果角色离开了权限,是没有意义的
很多人看到这,都会反驳第一个观点,你可能要说“管理员-administrator是最高层级的角色,它的层级就比订阅者-subscriber要高”。不过这是不完全正确的,没有弄清楚角色-roles是怎样工作的。默认的administrator具有更多权限,如果你愿意,你可以给订阅者subscriber更多的权限,要超过administrator哦。
所以,角色-roles是没有级别之分的。前面的教程中说法是不严谨的,但是也有更容易理解的效果。
权限-capabilities
权限是关于系统是怎样工作的,权限也可以说是许可,也就是许可roles能干什么,不能干什么。
管理员具有默认的所有权限,比如:
edit_themes
. 你能编辑主题,不是因为你是管理员,而是因为你的role(administrator具有edit_themes的权限)。如果你把角色administrator的edit_themes去掉,就算你是管理员,你也不能编辑主题。
总结
- 用户是在你的网站注册的人
- 每个用户都有一个角色
- 每个角色都被赋予了一些权限