如何讓 WordPress 登入後自動跳轉到指定頁面上?
想要客製化會員登入 WordPress 後的行為,例如說要跳到某一個指定的網頁,其實有很多個外掛可以使用,例如:https://www.paidmembershipspro.com/ ,但麻煩的就是常常會跟其他的會員外掛衝突,而且為了一個小功能,要一個龐大的會員系統來支撐,不太划算,建議可以自行寫寫看。
佈景主題 Functions.php
其實只要找到佈景主題下的 functions.php 然後加入以下程式碼即可
function my_login_redirect( $redirect_to, $request, $user ) {
    //檢查是否有建置會員制度
    if (isset($user->roles) && is_array($user->roles)) {
        // 檢查是否為管理者
        if(in_array('administrator', $user->roles)){
            // 每次當入都到 woocommerce 的管理頁面中
            $redirect_to =  home_url('wp-admin/edit.php?post_type=shop_order');
        }
        //確認是不是訂閱會員
        else if (in_array('subscriber', $user->roles)) {
            // 導向指定頁面,程式範例是導向會員專屬頁面。 
            $redirect_to =  home_url();
        }        
    } 
    return $redirect_to;
}
 
add_filter( 'login_redirect', 'my_login_redirect', 10, 3 );區分權限
管理員登入 WordPress 後,預設會到 /wp-admin 中,一般的使用者登入後通常是引導到首頁,或是他自己的介紹頁,要區分管理員或是一般使用者則可以使用 in_array(‘administrator’, $user->roles) 做判斷
// 判斷是否為管理員
in_array('administrator', $user->roles)自己寫就是有一個好處,可以完全客制使用者行為,也比較輕量,真的有問題就問 ChatGPT 4 大神吧
 
				
近期留言