Ich versuche, wp_redirect()
den Benutzer nach erfolgreichem Senden eines Anmeldeformulars auf der Seite umzuleiten.
Es funktioniert nicht und zeigt den folgenden Fehler:
Warnung: Header-Informationen können nicht geändert werden - Header, die bereits von (Ausgabe gestartet unter /Applications/MAMP/htdocs/theme/wp-content/themes/test/header.php:10) in / Applications / MAMP / htdocs / theme / wp- gesendet wurden enthält / pluggable.php in Zeile 1178
Ich verstehe, dass es bereits zuvor Ausgaben gegeben hat, deshalb funktioniert es nicht, aber ich habe keine Ahnung, wie ich das machen soll.
Das Anmeldeformular wird von einer Funktion gerendert und von einer anderen Funktion in meiner functions.php gesendet.
if ( isset( $_POST['subscribe'] ) ) {
// Submits the form and should then redirect
wp_redirect("/thank-you/");
exit;
}
Dann werden diese beiden Funktionen verwendet, wenn ich das Anmeldeformular anzeigen möchte.
Ich fürchte, das ist nicht das Beste. Ich sollte eine Aktion erstellen, die das tut, aber ich habe keine Ahnung, wie ich das implementieren soll. Die meisten der gefundenen Tutorials zeigen die Ergebnisse direkt auf derselben Seite und erfordern keine zusätzliche Weiterleitung. Vielleicht arbeiten sie deshalb mit Funktionen in der Datei functions.php
quelle
Sie müssen
wp_redirect()
vorher verwendenget_header()
Dann wird kein Header-Fehler angezeigt.quelle
quelle
Sie können dies auch tun
Anstelle der folgenden Zeile
wp_redirect ("$ url");
schreiben
oder
Es wird definitiv Ihr Problem lösen.
quelle