2017-11-02 32 views
0

WordPress用のWoocommerceで、製品ページにアクセスしてクリックしてログインすると、ログインすると、以前のアカウントではなくアカウントのダッシュボードページにリダイレクトされますあなたが読んでいたページ。Wordpress - ログイン後に前のページにリダイレクト

私はこれをやろうとしています。ログインする前のページにリダイレクトするか、自分のサイトに前のページがない場合はホームページにリダイレクトします。

私はこれを試しましたが、毎回ホームページにリダイレクトされます。

function wc_custom_user_redirect($redirect) { 
     $redirect = wp_get_referer() ? wp_get_referer() : home_url(); 
    return $redirect; 
} 
add_filter('woocommerce_login_redirect', 'wc_custom_user_redirect', 10, 2); 

+0

私は通常、最後の '$ _SERVER ['http_referrer']'を格納する非表示の入力フィールドを作成します。ログインの処理ページで、この入力ボックスに何かが含まれているかどうかを確認します。存在する場合は、内容にリダイレクトされます。 – GrumpyCrouton

答えて

0

このようにlogin_redirectの機能をフィルタリングして、必要に応じて適応させることができます。

add_filter('login_redirect', 'redirect_previous_page', 10, 1); 

function redirect_previous_page($redirect_to){ 
    global $user;  
    $request = $_SERVER["HTTP_REFERER"]; 

    if (in_array($user->roles[0], array('administrator'))) {  
     return admin_url();  
    } elseif (in_array($user->roles[0], array('subscriber'))) {  
     return $request; 
    }  
    return $redirect_to; 
} 
関連する問題