2017-11-02 1 views
0

Auf Woocommerce für Wordpress, wenn Sie auf einer Produktseite sind und zum Anmelden klicken, wenn Sie sich anmelden, werden Sie von Ihrem Konto auf die Dashboard-Seite weitergeleitet und nicht die vorherige Seite, die du gelesen hast.Wordpress - Umleiten zur vorherigen Seite nach dem Login

Ich versuche das zu tun, Umleitung auf die vorherige Seite vor dem Login oder auf der Startseite, wenn es keine vorherige Seite auf meiner Website gibt.

Ich habe es versucht, aber jedes Mal, wenn ich auf die Homepage weitergeleitet werde.

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

Irgendwelche Idee?

+0

Auf der Login-Formularseite mache ich normalerweise ein verstecktes Eingabefeld, das den letzten '$ _SERVER ['http_referrer'] 'speichert. Überprüfen Sie auf der Verarbeitungsseite für die Anmeldung, ob dieses Eingabefeld etwas enthält. Wenn dies der Fall ist, leiten Sie es zu seinem Inhalt um. – GrumpyCrouton

Antwort

0

Sie können die login_redirect Funktion wie folgt filtern, passen Sie entsprechend Ihren Notwendigkeiten an.

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; 
} 
Verwandte Themen