上一篇教程中講解了再自定義文章型別中 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 去掉,就算你是管理員,你也不能編輯主題。
總結
- 使用者是在你的網站註冊的人
- 每個使用者都有一個角色
- 每個角色都被賦予了一些許可權