Phantom 302 Statuscode beim Senden von POST-Anfragen auf Seiten

Ich hoffe wirklich, ich habe ein einfaches Problem hier vor mir, da es mich irgendwie an die Wand treibt.

Kurzgeschichte: Das Senden eines einfachen Formulars am vorderen Ende der Site führt zu einer 302 Found Umleitung, $_POST die $_POST Daten $_POST werden.

Szenario:

  • Erstellen Sie im Admin eine Seite mit dem Namen Bearbeiten
  • Erstellen Sie eine benutzerdefinierte Vorlagendatei (zB my-edit-template.php ) und wenden Sie sie auf Bearbeiten an

my-edit-template.php:

  

Jetzt, wenn ich das Formular $_POST , bekomme ich zwei Anfragen auf die gleiche Seite, zuerst den POST , mit den intakten Formulardaten, und zweitens ein GET (Statuscode 200 ), offensichtlich befreit von $_POST global, oder irgendetwas Nützliches mir.

Ich bin sicher, das ist eine totale Aufsicht, aber ich bin ratlos; völlig verwirrt.

Ich habe es versucht:

  • Alle Plugins sind deaktiviert
  • Flushing schreibt die Grundeinstellungen zurück
  • POST über Javascript / XHR

Hilfe?

Es tut mir leid, wenn die Details spärlich sind, ich bin gerade in der class, aber ich werde später noch etwas relevantes besprechen.

Solutions Collecting From Web of "Phantom 302 Statuscode beim Senden von POST-Anfragen auf Seiten"

Diese Frage ist ziemlich alt, aber die einzige, die für diese Art von Problem herauskam. Ich hatte es heute Nacht, verbrachte fast 4 Stunden damit, mich gegen die Wand zu schlagen – Plugins zu deaktivieren, Code hier und da zu kommentieren (und dies ist ein großes Multisite-Projekt mit vielen benutzerdefinierten functionen und Frontend-Formularen, benutzerdefinierten URLs und Vorlagen etc.). Das war ein Schmerz …

Ich werde es einfach hier lassen. Vielleicht spart es jemandem ein paar Stunden.

Beim Erstellen von benutzerdefinierten Front-End-Formularen müssen Sie immer Ihre Eingabe / / etc-Namen mit Ihrem benutzerdefinierten Präfix voranstellen .”

Wenn Sie dies vergessen und mit der Benennung von Feldern beginnen, die Ihrer globalen Namenskonvention entsprechen, können Sie eine Auswahl erstellen, die Ihre benutzerdefinierte Taxonomie anzeigt, und sie so benennen, wie eine benutzerdefinierte Taxonomie selbst benannt wird. Wenn Sie “Submit” drücken, empfängt WordPress Ihre $ _POST-Daten, analysiert sie, “versteht” diesen Namen als ihr registriertes $ query_var und transformiert die Anfrage, indem sie $ query_var hinzufügt. Natürlich führt dies zu einer Umleitung, die Ihre $ _POST-Daten löscht und verhindert, dass das Formular das tut, was es tun soll.

Mit diesem Code ist nichts falsch. Ich habe es gerade auf einer lokalen Installation gemacht und es hat gut funktioniert, genau wie Sie es erwarten würden.

Suchen Sie nach in Konflikt stehenden Plugins.