適合誰使用
需要設定使用者角色與權限、管理多人協作網站的 WordPress 站長或管理員
開始前準備
- 需具備 Administrator(管理員)帳號權限才能管理其他使用者的角色
- 安裝 WordPress 後會自動建立一組 Administrator 帳號
教學內容
角色與權限的基本概念
角色(Roles)讓站長能控管使用者在網站內能做什麼、不能做什麼
每個角色可執行的一組任務稱為權限(Capabilities),例如 publish_posts、moderate_comments、edit_users
開發者可用 add_cap() 與 remove_cap() 函式為角色增減權限,也能用 add_role() 與 remove_role() 新增或移除角色
六種預設角色
Super Admin 可存取整個站台網路(Network)管理功能及所有其他功能
Administrator(slug: administrator)可存取單一網站內的所有管理功能
Editor(slug: editor)可發布並管理所有使用者的文章;Author(slug: author)僅能發布並管理自己的文章
- Contributor(slug: contributor)可撰寫並管理自己的文章,但無法自行發布
- Subscriber(slug: subscriber)僅能管理自己的個人資料
- 若要變更新使用者的預設角色,可至後台『Settings』>『General』設定
Administrator 的權限:單站與 Multisite 的差異
單站安裝時,Administrator 實際上等同 Super Admin,並擁有額外的管理權限
僅單站安裝的 Administrator 才擁有 update_core、update_plugins、install_plugins、edit_users、delete_users、unfiltered_html 等權限
在 Multisite 環境中,這些額外權限只有 Super Admin 才擁有
常見權限說明
manage_options 權限可存取『Settings』下的 General、Writing、Reading、Discussion、Permalinks 等設定頁面
unfiltered_html 權限允許使用者在文章、頁面、留言與小工具中貼上 HTML 或 JavaScript 程式碼,對不受信任的使用者開放此權限可能導致惡意程式碼被貼上
unfiltered_upload 權限預設不開放給任何角色,需在設定檔中定義 ALLOW_UNFILTERED_UPLOADS 常數才能啟用
介面名稱對照
Roles:角色,決定使用者在網站中可執行哪些任務的分類Capabilities:權限,指角色被允許執行的具體任務,如發文、管理外掛等Super Admin:可存取整個 Multisite 網路管理功能及所有其他功能的最高角色Administrator:可存取單一網站所有管理功能的角色,slug 為 administratorEditor:可發布並管理所有使用者文章的角色,slug 為 editorAuthor:僅能發布並管理自己文章的角色,slug 為 authorContributor:可撰寫管理自己文章但無法發布的角色,slug 為 contributorSubscriber:僅能管理個人資料的角色,slug 為 subscribermanage_options:可存取 Settings 底下多項設定頁面的權限unfiltered_html:允許使用者在內容中貼上未過濾的 HTML/JavaScript 程式碼的權限
