首先說說 WordPress 使用者角色有哪些?WordPress 自身的使用者角色,僅指 WordPress 安裝時就有的幾種使用者角色 (所列為角色名

稱) 。此外,如果啟用了 WordPress 多站點,將會多出一種使用者角色:Super Admin(超級管理員) 。

  1. 訂閱者 (Subscriber):只能修改自己的個人資料,例如暱稱、聯絡資訊、密碼等等。
  2. 投稿者 (Contributor):具有訂閱者的所有許可權。可以發表文章,發表的文章需要經過管理員稽核後才能在部落格上顯示出來,但可以預覽效果。對待審中的文章可以編輯,但對已透過稽核的文章不能編輯,可以檢視所有站內評論,但不能對評論進行編輯。
  3. 作者 (Author):具有投稿者的所有許可權。可以編輯已透過稽核的文章,發表文章不需要稽核,可以使用媒體庫。
  4. 編輯 (Editor):具有作者的所有許可權。可以對文章標籤、分類進行管理,可以管理友情連結,可以編輯評論,可以新增或編輯頁面,還可以編輯待審中的文章,但編輯後仍然處於待審狀態。實際上,編輯只是不具備外觀、外掛、使用者、設定和備份這些選項的操作。
  5. 管理員 (Administrator):具有 admin 的所有許可權,包括刪除 admin!不能隨便給他人這個許可權,這個不用具體說也知道啦。

下面說說具體的使用例項:我們在使用了 bbPress 外掛之後,後臺管理員登入之後無法調整到/wp-admin/,而是顯示的首頁,這個對

於我們來說及其不方便,不和諧。所以我們根據以上使用者角色,我們來做一些事情

function login_redirect($redirect_to, $request, $user)
{
return (is_array($user->roles) && in_array('administrator', $user->roles)) ? admin_url() : site_url();
}
add_filter('login_redirect', 'login_redirect', 10, 3);

下面是我們在角色登出後,跳轉到首頁的例項。

function logout_redirect($logouturl, $redir) {
$redir = 'https://www.weixiaoduo.com/'; // 這裡改成你要跳轉的網址
return $logouturl . '&redirect_to=' . urlencode($redir);
}

add_filter('logout_url', 'logout_redirect', 10, 3);

以上鉤子相關引數可以根據角色名稱和跳轉的時間自行修改。