WordPress使用者角色(user roles)是WP或者其它插件增加的,可以讓網站管理者(網站管理者也是一種角色)來友善的管理使用者的權限/能力(Capabilities,一般情況下,一種角色不止有一種能力,是以用複數),使用免費的插件,可以友善的管理每種角色的能力,簡單的了解是:角色具有某些能力,是某些能力的代稱。
WordPress使用者角色與使用者能力/權限(Roles and Capabilities)系統是自Wordpress2.0起被逐漸完善的。
僅指Wordpress安裝時就有的幾種使用者角色(所列為角色名稱):
Subscriber:訂閱者
Contributor :投稿者
Author :作者
Editor :編輯
Administrator :管理者
此外,如果啟用了Wordpress多站,将會多出一種使用者角色:Super Admin(超級管理者)。
WordPress在安裝完畢之後,會為各個使用者角色配置設定預設的使用者能力/權限,各個使用者能力/權限的名稱(ID)以及其含義此不贅述。
廣泛,可以限定使用者權限,這是明擺的事情,例如:用在插件或者主題的設定背景,以限制可看到菜單項并進行某些操作的使用者組;限制可以發表/修改/删除自己的文章(如果有權限發表的話)/别人的文章等等。
有時候在輸出某些内容或者存儲某些内容之前,有必要檢查下目前已登入使用者的權限,這時候就需要進行權限檢查了:
還可以在循環中檢查目前使用者是否有對某個對象的操作能力:
還可以對文章(廣義上的文章,泛指各種文章類型的文章)的作者的權限進行檢查:
比如,有某種權限了,就直接發表,否則就置為草稿或者待審狀态等。
在Wordpress中,隻要角色之間的能力互不沖突(一般情況下不會發生這種事情),同一個使用者可以同時有多種角色。
在擷取使用者對象之後,可以 為某個使用者添加一種角色:
如果想限定某使用者隻有一種角色,可以用:
移除使用者的某個角色:
使用者的能力/權限操作
注意:進行這些操作的時候,最後聲明下全局變量<code>global $wp_roles;</code>,然後以<code>$wp_roles->add_role();</code>
、 <code>$wp_roles->remove_role();</code>的方式進行操作,特别是在插件中使用時。
示例:
删除使用者角色
如何聯系我:【萬裡虎】www.bravetiger.cn
【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起)
【部落格】http://www.cnblogs.com/kenshinobiy/