Die function wp_redirect () funktioniert nicht

wp_redirect($post->guid) funktioniert nicht. Wie kann ich das beheben?

Das ist mein Code:

 if(isset($_REQUEST['vid']) ){ $id=$_REQUEST['vid']; $post_title = 'sasa'; $post_content ='zxczxczxc'; $new_post = array( 'ID' => '', 'post_author' => $user->ID, 'post_content' => $post_content, 'post_title' => $post_title, 'post_status' => 'publish', // NOW IT'S ALREADY AN ARRAY ); $post_id = wp_insert_post($new_post); // This will redirect you to the newly created post $post = get_post($post_id); $url=$post->guid; wp_redirect($post->guid); } 

Solutions Collecting From Web of "Die function wp_redirect () funktioniert nicht"

Zwei Dinge sind hier falsch:

  1. Verwenden Sie $post->guid als URL
  2. Sie müssen exit() nach der Verwendung von wp_redirect() ( siehe Codex )

wp_redirect() wird nicht automatisch beendet und sollte fast immer von exit beendet werden. So leiten Sie auf die Seite Ihres neuen Posts weiter:

 //..... code as in question $post_id = wp_insert_post($new_post); $url = get_permalink( $post_id ); wp_redirect($url); exit(); 

Verwenden Sie niemals den Post-GUID-Wert, er muss nicht mit der tatsä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 

wp_redirect sicher, dass wp_redirect nicht durch etwas anderes verbunden ist, was verhindert, dass der Job korrekt ausgeführt wird. Deaktivieren Sie alle Plugins und kehren Sie zu Twenty Ten / Eleven zurück.

Ich habe eine einfache Lösung, bitte lesen Sie:

  1. Wenn Sie wp_redirect($url) in Theme-Dateien verwenden und es nicht funktioniert, fügen Sie ob_clean() ob_start() in Ihrer functionsdatei oben hinzu.

  2. Wenn Sie im Plugin verwenden, fügen Sie ob_clean() ob_start() in der ob_clean() ob_start() Datei oben hinzu.

Und stellen Sie sicher, dass Sie die exit() function after wp_redirect($url) hinzugefügt haben.

 $url = 'http://example.com'; wp_redirect($url); exit(); 

Ich bin nicht sicher, ob das helfen wird … aber ich fand, dass ich etwas Code in einer Vorlage hatte und ich begann mit get_header () auf diese Weise:

 < ?php /** * .. Template comments */ get_header(); if(...) { ... if(...) { ... wp_redirect($url); exit(); } } ?> 

und bekam das gleiche Problem von Header gesendet … Was ich getan habe, war nur get_header () bis zum Ende des Blocks zu bewegen und voila !!!

 < ?php /** * .. Template comments */ if(...) { ... if(...) { ... wp_redirect($url); exit(); } } get_header(); ?> 

Kein Plugin wurde deaktiviert. und alles war in Ordnung … du kannst es versuchen, wenn das für dich funktioniert