Heim  >  Fragen und Antworten  >  Hauptteil

Nach erfolgreicher Registrierung wird der Nutzer auf die Seite weitergeleitet, von der er gekommen ist.

Ich verwende den folgenden Code, um den Benutzer nach erfolgreicher Anmeldung auf die Seite umzuleiten, von der er gekommen ist. Dieser Code wurde getestet und funktioniert einwandfrei:

add_action( 'woocommerce_login_form_end', 'actual_referrer' );
 
function actual_referrer() {
   if ( ! wc_get_raw_referer() ) return;
   echo '<input type="hidden" name="redirect" value="' . wp_validate_redirect( wc_get_raw_referer(), wc_get_page_permalink( 'myaccount' ) ) . '" />';
}

Wenn der Benutzer nun von der Registrierungsseite aus mein Konto aufruft, um sich zu registrieren, möchte ich nach erfolgreicher Registrierung zu seiner ursprünglichen Seite zurückkehren, z. B. mit dem obigen Code.

Dafür habe ich einen Code gefunden, der den Nutzer nach erfolgreicher Registrierung auf die Startseite weiterleitet:

add_filter( 'woocommerce_registration_redirect', 'customer_register_redirect' );
 
function customer_register_redirect( $redirect_url ) {
   $redirect_url = get_home_url();  
   return $redirect_url;
}

Gibt es eine Möglichkeit, diesen Code wie den Anmeldecode zu bearbeiten, um den Benutzer auf die Seite umzuleiten, von der er kam?

P粉107991030P粉107991030431 Tage vor492

Antworte allen(1)Ich werde antworten

  • P粉476475551

    P粉4764755512023-09-08 00:30:00

    您可以使用wp_registration_url( urlencode( get_permalink() ) );,注册成功后将重定向到上一页。

    在您的情况下,由于它是 woocommerce,指向您页面的链接应该是:

    <a href="<?php echo wc_get_page_permalink( 'myaccount' ) . '?redirect_to=' . urlencode( get_permalink() ); ?>">Register</a>

    其中 wp_registration_url 是注册页面的 URL,并添加 ?redirect_to 参数(包括当前页面)。

    根据您的情况,您可以将过滤器中的代码更改为:

    add_filter( 'woocommerce_registration_redirect', 'customer_register_redirect' );
    function customer_register_redirect() {
        $redirect_url = isset( $_REQUEST['redirect_to'] ) ? $_REQUEST['redirect_to'] : home_url();
        return $redirect_url;
    }

    如果没有设置redirect_to,我们将重定向到主页或您喜欢的其他页面。

    Antwort
    0
  • StornierenAntwort