2021-10-07

2 種方式變更WordPress後台登入的起始頁

WordPress 後台起始頁,可以改別的頁面嗎?

預設的控制台大都是活動動態、更新,如果這些區塊都隱藏又覺得很乾,給業主看到觀感不好(蛤?我花幾萬做的網站就這樣?🤔)

如果有這個困擾,請參考接下來 2 種方式變更Wordpress後台登入的起始頁的方法吧!

示範如何登入後台就看到頁面列表(Pages)

1. Before / After

開始之前說明一下任務,我們要將預設起始頁控制台,改成頁面列表(Pages)

Wordpress - dashboard
Before: 預設起始頁 - 控制台 Dashboard
Wordpress-Pages
After: 預設起始頁 - 頁面列表 Pages

2. 開啟主題的 function.php,加入一小串程式碼

在 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);

3. 不想用程式碼,外掛 LoginWP 也能做到

如果不想用程式,可以試試外掛 LoginWP,雖然我沒用過,但看起來細到能針對特定使用者轉頁,大到能對角色做成員套用,相信可滿足大部分的需求。

參考來源:How to Redirect Users after Successful Login in WordPress

對於需求,我知道外掛 solution 一定很多,但就想任性花時間寫程式,享受創作高掌握度的爽感,如同這次也要假掰一下 🤪

請我喝杯咖啡吧 ^^

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

PeiYing Tsai
author
愛藝術,喜歡以科技解決問題的數位產品設計師。 堅持信念,任何困難事,必有搞定的一天,Just try it! 隨手紀錄日常學習到的知識心得,希望對妳/你有幫助。
coffee-cup linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram