如何在 WordPress 中創建自訂使用者角色
WordPress 提供了靈活的使用者角色和權限管理系統,允許網站管理員根據需要創建自訂的使用者角色。這些自訂角色可以設置特定的權限,以滿足網站的不同需求。在這節課中,我們將學習如何使用 add_role
函數來創建一個自訂的使用者角色,並設置相應的能力(capabilities)。
創建自訂使用者角色的基本原理
add_role
函數允許您在 WordPress 中創建一個新的使用者角色。這個角色可以分配給不同的用戶,並根據設定的能力控制他們在網站上的操作範圍。使用自訂角色,您可以根據特定的業務需求來精確地管理用戶權限。
創建自訂使用者角色的操作步驟
- 操作說明:
- 打開您自定義的外掛 PHP 文件或主題的
functions.php
文件。 - 添加以下代碼來創建自訂的使用者角色。
- 打開您自定義的外掛 PHP 文件或主題的
- 範例代碼:
// 創建自訂的使用者角色 function add_custom_role() { add_role( 'custom_role', // 角色的系統名稱 '自訂角色', // 顯示在後台的角色名稱 array( // 定義角色的能力 'read' => true, // 允許閱讀文章和頁面 'publish_posts' => true, // 允許發布文章 'edit_posts' => true, // 允許編輯自己的文章 ) ); } add_action('init', 'add_custom_role');
代碼解釋:
'custom_role'
:這是角色的系統名稱,通常用英文小寫字母命名,不會顯示在後台,僅用於程式識別。'自訂角色'
:這是角色在後台顯示的名稱,這個名稱會出現在使用者角色列表中。array( ... )
:這是定義角色能力的數組。每個能力用鍵值對來表示,鍵為能力名稱,值為true
(啟用)或false
(禁用)。'read' => true
:允許使用者閱讀文章和頁面。'publish_posts' => true
:允許使用者發布文章。'edit_posts' => true
:允許使用者編輯自己的文章。
常見的使用者能力
在設置自訂角色的能力時,您可以根據網站需求選擇不同的權限。以下是一些常見的使用者能力:
- 針對文章 (Posts):
edit_posts
:允許使用者編輯自己的文章。edit_others_posts
:允許使用者編輯其他使用者的文章。publish_posts
:允許使用者發布文章。read_private_posts
:允許使用者閱讀私有文章。delete_posts
:允許使用者刪除自己的文章。
- 針對頁面 (Pages):
edit_pages
:允許使用者編輯頁面。edit_others_pages
:允許使用者編輯其他使用者的頁面。publish_pages
:允許使用者發布頁面。read_private_pages
:允許使用者閱讀私有頁面。delete_pages
:允許使用者刪除頁面。
- 針對使用者 (Users):
list_users
:允許使用者查看使用者列表。create_users
:允許使用者創建新的使用者。edit_users
:允許使用者編輯使用者。delete_users
:允許使用者刪除使用者。
- 針對插件和主題:
activate_plugins
:允許使用者啟用或停用插件。install_plugins
:允許使用者安裝插件。edit_theme_options
:允許使用者更改主題選項,例如小工具和自訂功能。install_themes
:允許使用者安裝主題。delete_themes
:允許使用者刪除主題。
- 其他常見的能力:
read
:允許使用者閱讀內容。manage_options
:允許使用者更改網站選項。moderate_comments
:允許使用者審核評論。unfiltered_html
:允許使用者在內容中使用不受限制的HTML。
測試新角色的效果
完成上述代碼編寫後,請保存文件並登錄到 WordPress 後台檢查結果。您應該會在使用者角色列表中看到新創建的自訂角色。您可以將這個角色分配給某個用戶,並測試該用戶的權限是否符合預期。
擴展練習
- 添加更多能力:嘗試為自訂角色添加更多的能力,以滿足更複雜的需求。
- 自定義現有角色:您還可以通過
add_cap
和remove_cap
函數來添加或移除現有角色的能力。