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 ?
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 :
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 :
Si redirect_to n'est pas défini, nous vous redirigerons vers la page d'accueil ou une autre page que vous aimez.