如何在 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函數來添加或移除現有角色的能力。
