wp_redirect () - en-têtes déjà envoyés
4 réponses
- votes
-
- 2015-02-23
J'aitrouvé la réponse (via)
Au lieu d'utiliser lafonction,j'ai ajouté une action à "wp_loaded",qui s'assure qu'elleest chargée avant l'envoi desen-têtes.
<?php add_action ('wp_loaded', 'my_custom_redirect'); function my_custom_redirect() { if ( isset( $_POST['subscribe'] ) ) { $redirect = 'http://example.com/redirect-example-url.html'; wp_redirect($redirect); exit; } } ?>
Found the answer (via)
Instead of using the function I added an action to "wp_loaded", that makes sure that it gets loaded before any headers are sended.
<?php add_action ('wp_loaded', 'my_custom_redirect'); function my_custom_redirect() { if ( isset( $_POST['subscribe'] ) ) { $redirect = 'http://example.com/redirect-example-url.html'; wp_redirect($redirect); exit; } } ?>
-
Il a éliminé l'erreurmais lemessagen'apas étéenregistré!It got rid of the error but the post did not save!
- 0
- 2017-02-23
- Subrata Sarkar
-
- 2015-02-23
Vous devez utiliser
wp_redirect()
avantget_header()
Ensuite,iln'afficherapas d'erreur d'en-tête.You have to use
wp_redirect()
beforeget_header()
Then it will not show header error. -
- 2015-02-23
add_action('template_redirect', function(){ if(isset($_POST['subscriptio'])){// make this condition such that it only matches when a registraiotn form get submitted /** * do your stuff here */ wp_redirect();//.... } });
add_action('template_redirect', function(){ if(isset($_POST['subscriptio'])){// make this condition such that it only matches when a registraiotn form get submitted /** * do your stuff here */ wp_redirect();//.... } });
-
Mercipour l'aide,mais ce coden'apasfonctionnépourmoi.Besoin d'ajouter l'action à "wp_loaded"pour que celafonctionne (voirma réponse)Thanks for the help, but that code didn't worked for me. Needed to add the action to "wp_loaded" to get it worked (See my answer)
- 0
- 2015-02-23
- Snowball
-
Fonctionnebien si vous devez établir `is_page_template ()` lors de la redirection conditionnelle.Works well if you need to establish `is_page_template()` when conditionally redirecting.
- 0
- 2020-04-02
- Mr Rethman
-
- 2020-02-20
vouspouvez également lefaire
Au lieu de la ligne ci-dessous
wp_redirect ("$ url");
écrire
echo("<script>location.href = '".$url."'</script>");
ou
<?php <script><?php echo("location.href = '".$url."';");?></script>?>
Cela résoudra certainement votreproblème.
you can also do this
Instead of the below line
wp_redirect("$url");
write
echo("<script>location.href = '".$url."'</script>");
or
<?php <script><?php echo("location.href = '".$url."';");?></script>?>
It'll definitely solve your problem.
J'essaie d'utiliser
wp_redirect()
pour rediriger l'utilisateur après avoir soumis avec succès unformulaire d'inscription sur lapage.Celane fonctionnepaset affiche l'erreur suivante:
Je comprends qu'il y a déjàeu une sortie avant,c'estpourquoi celane fonctionnepas,maisje n'ai aucuneidée de commentfairefonctionner cela.
Leformulaire d'inscriptionest rendupar unefonctionet soumispar une autrefonction,dansmonfunctions.php.
Ensuite,ces deuxfonctions sont utilisées là oùje veux afficher leformulaire d'inscription.
J'aibien peur que cene soitpas lameilleure chose àfaire. Je devrais créer une action quifasse cela,maisje ne saispas commentmettreen œuvre cela. Laplupart des didacticiels quej'aitrouvés affichent les résultats directement sur lamêmepageet nenécessitentpas de redirection supplémentaire. C'estpeut-êtrepour cela qu'ilstravaillent avec desfonctions à l'intérieur dufunctions.php