J'utilise ajax pour publier les données du formulaire. En fin de compte, je veux rediriger vers la page d'accueil. J'essaie de suivre le code, cela ne fonctionne pas. Il renvoie l'erreur 302. Comment puis-je rediriger dans la fonction suivante? Merci.
add_action('wp_ajax_nopriv_custom_register', 'custom_register');
add_action('wp_ajax_custom_register', 'custom_register');
function custom_register(){
//process
wp_redirect( home_url() );
exit;
}
La demande AJAX s'exécute en arrière-plan. Les redirections ici n'affectent pas la page principale. Et 302 n'est pas une erreur, c'est juste un code d'état.
Votre réponse AJAX doit renvoyer soit l'URL et le code d'état à la page appelante, soit un nombre tel que 1. Ensuite, vous gérez la redirection dans la page appelante:
jQuery( document ).ready( function( $ ) {
var url = '<?php echo home_url(); ?>';
$( '#ajaxtrigger' ).on( 'click',
function() {
$.post( ajaxurl, {}, function( response ) {
if ( 1 == response )
top.location.replace(url);
});
return false;
}
);
});