首先説説 WordPress 用户角色有哪些?WordPress 自身的用户角色,僅指 WordPress 安裝時就有的幾種用户角色 (所列為角色名
稱) 。此外,如果啓用了 WordPress 多站點,將會多出一種用户角色:Super Admin(超級管理員) 。
- 訂閲者 (Subscriber):只能修改自己的個人資料,例如暱稱、聯繫信息、密碼等等。
- 投稿者 (Contributor):具有訂閲者的所有權限。可以發表文章,發表的文章需要經過管理員審核後才能在博客上顯示出來,但可以預覽效果。對待審中的文章可以編輯,但對已通過審核的文章不能編輯,可以查看所有站內評論,但不能對評論進行編輯。
- 作者 (Author):具有投稿者的所有權限。可以編輯已通過審核的文章,發表文章不需要審核,可以使用媒體庫。
- 編輯 (Editor):具有作者的所有權限。可以對文章標籤、分類進行管理,可以管理友情鏈接,可以編輯評論,可以添加或編輯頁面,還可以編輯待審中的文章,但編輯後仍然處於待審狀態。實際上,編輯只是不具備外觀、插件、用户、設置和備份這些選項的操作。
- 管理員 (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);
以上鈎子相關參數可以根據角色名稱和跳轉的時間自行修改。