Die Funktion wp_redirect () funktioniert nicht
7 Antworten
- Stimmen
-
- 2012-03-21
Zwei Dinge stimmen hiernicht:
- Verwenden Sie
$post->guid
nicht als URL - Siemüssen
exit()
,nachdem Siewp_redirect()
( siehe Codex )wp_redirect()
wirdnicht automatischbeendet und solltefastimmer vonexitgefolgt werden.
//..... code as in question $post_id = wp_insert_post($new_post); $url = get_permalink( $post_id ); wp_redirect($url); exit();
Two things wrong here:
- Don't use
$post->guid
as an url - You must
exit()
after usingwp_redirect()
(see the Codex)wp_redirect()
does not exit automatically and should almost always be followed by exit.
//..... code as in question $post_id = wp_insert_post($new_post); $url = get_permalink( $post_id ); wp_redirect($url); exit();
-
Schlage dich um 30 Sekunden: D.Beat you by 30 seconds :D
- 0
- 2012-03-21
- soulseekah
-
Diesfunktioniertnicht,wennich die Seitenkonsole Show 302 Found ausführen 479ms jquery ... r=1.7.1 (Zeile 4) GET http://localhost/wordpress/newpages-17/ 200 OK 1.2s Laden ..........this is not working, if i run the page console show 302 Found 479ms jquery...r=1.7.1 (line 4) GET http://localhost/wordpress/newpages-17/ 200 OK 1.2s loading..........
- 0
- 2012-03-21
- SANS780730
-
Dasistein JS-Fehler.Nichtsmit `wp_redirect` zutun.Die obige Antwortist der richtige Weg,alsomüssen Sieetwas anderesfalschmachen.Thats a JS error. Nothing to do with `wp_redirect`. The above answer is the correct way to do it, so you must be doing something else wrong.
- 2
- 2012-03-21
- Stephen Harris
-
Es wirdnur GET localhost/wordpress/newpages-17 200 OK angezeigt. 1.2s wirdgeladen ..........sorry.it show only GET localhost/wordpress/newpages-17 200 OK 1.2s loading..........
- 0
- 2012-03-21
- SANS780730
-
@StephenHarris Würdees Ihnenetwas ausmachen,meine Weiterleitungsfrage unter http://wordpress.stackexchange.com/q/76991/10413 zu lesen? Ich habe auch Ihren Code aus dieser Antwortmit $pid ausprobiert,kannihn aberimmernochnicht zum Laufenbringen.Vielen Dank@StephenHarris would you mind looking over my redirect question at http://wordpress.stackexchange.com/q/76991/10413 I've also tried your code from this answer using $pid but still can't get it to work. Thanks
- 0
- 2012-12-22
- Anagio
-
Diese Frage hateine große Anzahl von Ansichten. Bitte akzeptieren Sie diese Antwort,wenn sie Ihr Problemgelöst hat.Auf diese Weise wird die Frage alsbeantwortet angezeigt und hilft uns,die Website aufgeräumt zu halten.Vielen Dank.This question gets a huge number of views, so please consider accepting this answer if it solved your problem. That way the question shows up as answered and helps us keep the site tidy. Thanks.
- 0
- 2016-07-23
- Andy Macaulay-Brook
-
- 2015-12-10
Ich habeeine einfache Lösung,bitte lesen Sie:
-
Wenn Sie
wp_redirect($url)
in Themendateien verwenden undesnichtfunktioniert,fügen Sieob_clean() ob_start()
in Ihre Funktionsdateieinoben. -
Wenn Sie das Plugin verwenden,fügen Sie
ob_clean() ob_start()
in die Haupt-Plugin-Datei obenein.
Und stellen Sie sicher,dass Sie die Funktion
exit() function after wp_redirect($url)
hinzugefügt haben.$url = 'http://example.com'; wp_redirect($url); exit();
I have a simple solution, please read:
If you are using
wp_redirect($url)
in theme files, and it is not working addob_clean() ob_start()
in your function file on top.If using in plugin add
ob_clean() ob_start()
in the main plugin file on top.
And make sure you have added
exit() function after wp_redirect($url)
Like this:$url = 'http://example.com'; wp_redirect($url); exit();
-
Dies löst das Problem,dass Mozilla Firefox 200 statt 302 zurückgibt,damit die Umleitung stattfinden kann.Chrome leitet weiter,Firefox hingegennicht.Dieser Fix hilft.Vielen Dank!This solves the issue with Mozilla Firefox returning 200 instead of 302 for the redirection to take place. Chrome redirects while Firefox doesn't. This fix helps. Thank you!
- 0
- 2018-09-12
- El'Magnifico
-
Diesisteine detailliertere Antwort,wenn Sieein Pluginerstellen odereine Vorlageentwerfen.arbeitetefürmich.This is a more detailed answer if you are creating a plugin or designing template. worked for me.
- 0
- 2019-07-10
- Sayed Mohd Ali
-
Ich habemichbemüht,diese Arbeitin meinembenutzerdefinierten Thema zumachen ... Funktioniert wieein Zauber ...I've been struggling to make this work in my custom theme... Works like a charm...
- 0
- 2019-10-08
- ShivangiBilora
-
- 2013-05-01
Ichbin nicht sicher,ob dies helfen wird ... aberich habefestgestellt,dassich Codein einer Vorlage hatte undich habemit get_header ()folgendermaßenbegonnen:
<?php /** * .. Template comments */ get_header(); if(...) { ... if(...) { ... wp_redirect($url); exit(); } } ?>
undbekam dasgleiche Problemmit dem zuvorgesendeten Header ... Ich habenurget_header () an das Ende des Blocks verschoben und voila !!!
<?php /** * .. Template comments */ if(...) { ... if(...) { ... wp_redirect($url); exit(); } } get_header(); ?>
Es wurde kein Plugin deaktiviert.und alles warin Ordnung ... Sie könnenes versuchen,wenn diesfür Siefunktioniert
I am not sure if this will help... but I found that I had some code in a template and I was starting with get_header() in this way:
<?php /** * .. Template comments */ get_header(); if(...) { ... if(...) { ... wp_redirect($url); exit(); } } ?>
and was getting the same issue of header previously sent... What I did was just move get_header() to the end of the block and voila!!!
<?php /** * .. Template comments */ if(...) { ... if(...) { ... wp_redirect($url); exit(); } } get_header(); ?>
No plugin was disabled. and everything was ok... you may give a try if this works for you
-
Diesisteine gute Möglichkeit,wenn Sie Zugriff auf die Themenquelle haben.Weiterleitungen sollten vor dem Aufruf von "get_header" ausgeführt werden.This is a good way to do it, if you have access to the theme source. Redirects should run before the call to `get_header`.
- 0
- 2013-05-01
- s_ha_dum
-
Das Entfernen vonget_header () hat auchbei mirfunktioniert!removing get_header() also worked for me!
- 0
- 2014-10-31
- Magico
-
Ich wette,diesist die häufigste Ursachefür diemeisten Menschen,diemit `wp_redirect` zu kämpfen haben undnichtfunktionierenI'd bet this is the most common cause for most people struggling with `wp_redirect` not working
- 0
- 2019-02-25
- joehanna
-
- 2012-03-21
Verwenden Sieniemals den Post-GUID-Wert,ermussnichtmit dertatsächlichen URL des Posts übereinstimmen.
http://codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
wp_redirect( get_permalink( $post_id ) ); exit(); // always exit
Stellen Sie außerdem sicher,dass
wp_redirect
nicht durchetwas anderes verstopftist,das die ordnungsgemäße Ausführung der Aufgabe verhindert.Deaktivieren Sie alle Plugins und kehren Sie zur Überprüfung zu Twenty Ten/Eleven zurück.Never ever use the post GUID value, it does not have to match the real URL of the post.
http://codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
wp_redirect( get_permalink( $post_id ) ); exit(); // always exit
Also, make sure
wp_redirect
is not plugged by something else which prevents it from doing its job correctly. Deactivate all plugins and revert to Twenty Ten/Eleven to check.-
+1guter Aufruf,wenn `wp_redirect` steckbarist+1 good call on `wp_redirect` being pluggable
- 0
- 2012-03-21
- Stephen Harris
-
Ihnen zu danken....thaning you....
- 0
- 2012-03-21
- SANS780730
-
- 2019-01-16
Stellen Sie sicher,dass Sienicht über Folgendes verfügen:
get_header();
odereine WordPress-Funktion,diemöglicherweise Inhalte wie Kopf- und Fußzeilenin Ihrer Vorlageerstellt.Andernfallsfunktioniert die Umleitungnicht.Einige Entwickler versuchen,die Seitemit
ob_start();
Wenn Siejedoch Inhalt auf Ihrer Seite haben,auch wenn Sieob_start();
hat die Umleitunggewonnen. 'tfunktionieren.und versuchen Sie danneinfach diesen Code:
wp_redirect(get_permalink($post->ID)); exit;
Make sure you don't have:
get_header();
or any wordpress function that potentially creates contents like header and footer in your template. Otherwise the redirection won't work.Some developers try to clear the page by using
ob_start();
but if you have content in your page even if you useob_start();
the redirection won't work.and then simply try this code:
wp_redirect(get_permalink($post->ID)); exit;
-
- 2019-08-06
if( is_page( ['wfp-dashboard', 'wfp-checkout'] ) ){ if(!is_user_logged_in()){ @ob_flush(); @ob_end_flush(); @ob_end_clean(); wp_redirect( wp_login_url() ); exit(); } }
if( is_page( ['wfp-dashboard', 'wfp-checkout'] ) ){ if(!is_user_logged_in()){ @ob_flush(); @ob_end_flush(); @ob_end_clean(); wp_redirect( wp_login_url() ); exit(); } }
-
Können Sieerklären,wie das Problem dadurchbehoben wird?Ichbin nicht sicher,warum der Code Ausgabepufferenthält,und sie haben den Operator "@". "@" Verhindert keine Fehler,sondern verbirgt sienur vor dem FehlerprotokollCan you include some explanation of how this fixes the issue? I'm not sure why there are output buffers in the code, and they have the `@` operator, `@` doesn't prevent errors from happening, it just hides them from the error log
- 0
- 2020-07-22
- Tom J Nowell
-
- 2020-07-22
DerbereitsgesendeteHeaderist der Hauptgrund.Da der Headerbereitsgesendet wurde,kannernichterneutgesendet werden und kannnicht umgeleitet werden.Vor dem Header wieim Init-Hook verwenden.
add_action('init', 'your_app_function');
header already sent is main reason. As header already sent, so its unable to resend it and fails to redirect. Use before header like in init hook.
add_action('init', 'your_app_function');
wp_redirect($post->guid)
funktioniertnicht.Wie kannich dasbeheben?Diesistmein Code: