J'ai écrit cette fonction pour l'utilisateur loggin. L'utilisateur est déconnecté mais ne redirige pas vers la page mais passe à la page d'accueil avec l'URL de déconnexion par défaut. J'ai essayé wp_logout_url () et aussi wp_redirect ().
function wc_registration_redirect( $redirect_to) {
wp_logout();
wp_redirect( '/my-account');
exit;
}
La méthode correcte pour modifier la redirection de déconnexion est le filtre logout_redirect
:
/**
* Filters the log out redirect URL.
*
* @since 4.2.0
*
* @param string $redirect_to The redirect destination URL.
* @param string $requested_redirect_to The requested redirect destination URL passed as a parameter.
* @param WP_User $user The WP_User object for the user that's logging out.
*/
add_filter( 'logout_redirect', function( $redirect_to, $requested_redirect_to, $user ) {
if ( ! $requested_redirect_to ) { // Don't override the redirect if one was already set in the logout URL
$redirect = home_url( user_trailingslashit( 'my-account' ) );
}
return $redirect;
}, 10, 3 );
Vous devez l'accrocher aux actions wp_logout
, accrocher et supprimer la wp_logout();
de la fonction. Ça va ressembler à ci-dessous-
add_action('wp_logout', 'wc_registration_redirect');
function wc_registration_redirect( $redirect_to) {
wp_redirect( '/my-account');
exit;
}