預設的控制台大都是活動動態、更新,如果這些區塊都隱藏又覺得很乾,給業主看到觀感不好(蛤?我花幾萬做的網站就這樣?🤔)
如果有這個困擾,請參考接下來 2 種方式變更Wordpress後台登入的起始頁的方法吧!
開始之前說明一下任務,我們要將預設起始頁控制台,改成頁面列表(Pages)
在 function.php 加入以下程式碼,按儲存即可 👌
function loginRedirect( $redirect_to, $request, $user ){
if( is_array( $user->roles ) ) { // check if user has a role
return "/wp-admin/edit.php?post_type=page";
}
}
add_filter("login_redirect", "loginRedirect", 10, 3);
在儲存前請再三確認這一行:return "/wp-admin/edit.php?post_type=page";
若您的網站不是安裝在主機的根目錄,請在/wp-admin 之前加上資料夾路徑。
例如:網址是 https://www.justry.io/abc/wp-admin/,
就要寫成 return "/abc/wp-admin/edit.php?post_type=page";
解釋一下程式碼:
if( is_array( $user->roles ) ) 是先檢查目前登入的帳號是否為系統的任一角色,
要有合格身份才能執行下一個動作 return "/wp-admin/edit.php?post_type=page";
這就是告訴系統,檢查通過可以將使用者引導至指定頁面,也就是我們這次的任務 [頁面列表 Pages],
參考來源:Change admin startpage to Pages-page?
舉一反三看看,如果我不想改到頁面列表,要到別的頁面呢?程式碼怎麼改?
.
.
.
答案是把橘色標示的地方 return "/wp-admin/edit.php?post_type=page";,改成目的頁的連結。
所以如果想改連到媒體頁面(upload.php),完整的程式碼應該這樣:
function loginRedirect( $redirect_to, $request, $user ){
if( is_array( $user->roles ) ) { // check if user has a role
return "/wp-admin/upload.php";
}
}
add_filter("login_redirect", "loginRedirect", 10, 3);
如果不想用程式,可以試試外掛 LoginWP,雖然我沒用過,但看起來細到能針對特定使用者轉頁,大到能對角色做成員套用,相信可滿足大部分的需求。
參考來源:How to Redirect Users after Successful Login in WordPress
對於需求,我知道外掛 solution 一定很多,但就想任性花時間寫程式,享受創作高掌握度的爽感,如同這次也要假掰一下 🤪