Après une inscription réussie, l'utilisateur sera dirigé vers la page d'où il vient.
P粉107991030
P粉107991030 2023-09-07 12:38:06
0
1
512

J'utilise le code suivant pour rediriger l'utilisateur vers la page d'où il vient après une connexion réussie. Ce code a été testé et fonctionne bien :

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' ) ) . '" />';
}

Maintenant, lorsque l'utilisateur accède à mon compte depuis la page d'inscription pour s'inscrire, une fois l'inscription réussie, je souhaite revenir à sa page d'origine, comme le code ci-dessus.

Pour cela, j'ai trouvé un code qui redirige l'utilisateur vers la page d'accueil après une inscription réussie :

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

Existe-t-il un moyen de modifier ce code comme le code de connexion pour rediriger l'utilisateur vers la page d'où il vient ?

P粉107991030
P粉107991030

répondre à tous(1)
P粉476475551

Vous pouvez utiliser wp_registration_url( urlencode( get_permalink() ) ); et vous serez redirigé vers la page précédente après une inscription réussie.

Dans votre cas, puisqu'il s'agit de woocommerce, le lien vers votre page devrait être :

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

Où wp_registration_url est l'URL de la page d'inscription, et ajoutez le paramètre ?redirect_to (y compris la page actuelle).

En fonction de votre situation, vous pouvez modifier le code dans le filtre comme suit :

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

Si redirect_to n'est pas défini, nous vous redirigerons vers la page d'accueil ou une autre page que vous aimez.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal