AdWz WP-Plugin 14 – Post

(AdWz; Auf dem Weg zum) WP-Plugin 14 – Post

Die Entwicklung des Plugins mg404rewrite hatte ich eigentlich mit der mod_rewrite Aktivierung bei Strato eingestellt, aber das Plugin wurde mittlerweile bei wordpress.org um die 300 mal heruntergeladen und eine mögliche Lösung für die Verarbeitung übermittelter Formulardaten durch die Variante Post ist mir schon vor einiger Zeit eingefallen.

Problem

Der Workaround, Permalinks durch eine benutzerdefinierte Fehlerseite auflösen zu können, funktioniert nicht für übertragene Daten mit der Methode Post.

Eine Lösungsmöglichkeit für eine oder wenige Seiten mit Formularen beschreibt Ingo Henze in „Es geht doch, Kontaktformular mit POST und Permalinks„.

Aber für viele Seiten wird die manuelle Lösung schnell unübersichtlich und mit etwas Dynamik wie z.B. durch ein Plugin auf mehr oder weniger allen Seiten unmöglich.

Wie könnte eine allgemeine Lösung durch ein Plugin aussehen?

Idee

Die mit der Methode Post versendeten Formulardaten müssen durch eine auflösbare URL verarbeitet werden und der ursprünglichen Permalink-URL übergeben werden.

Ein Filter wird die auszuliefernde Seite nach Formularen mit der Methode Post durchsuchen. Sollte die Action-URL eine Permalinkstruktur haben wird diese durch eine eigene URL (PostProxy) ausgetauscht und die ursprüngliche URL zur weiteren Verarbeitung im Formular hinzugefügt. Die Daten werden zur auflösbaren URL (PostProxy) gesendet und müssen wie bei einer Permalink-Anfrage verarbeitet werden. PostProxy wird zur Simulation die angefragte URI überschreiben und die Datei index.php von WordPress einbetten. WordPress sollte wie bei einer regulären Anfrage den Rest übernehmen.

Lösung?

Lokal konnte ich die Idee erfolgreich mit einem Plugin – welches Daten via Post an Permalinks versendet – testen. Demnächst dann auch eine erste mg404rewrite-Beta … :-)

Tags: , ,

5 Antworten zu “AdWz WP-Plugin 14 – Post”

  1. Schnurpsel sagt:

    Na da bin ich ja mal gespannt :-)

  2. mgsimon sagt:

    Ich auch … :-)

    Wird paar Tage dauern, da step by step ne kleine AdWz Serie folgt …

  3. Schnurpsel sagt:

    Da bin ich nun noch mehr gespannt :-)
    „kleine AdWz Serie“, was soll denn da noch alles kommen?

  4. mgsimon sagt:

    Naja, als nächstes muss die Response zum spät möglichsten Zeitpunkt im ganzen besorgt werden.

    Muss noch mal alles entfernt im Testblog installieren, nicht noch am Ende wegen auferlegten Restriktionen das Ziel nicht erreichen.

    Und dann gehts weiter … :-)

  5. AdWz WP-Plugin 15 – HTTP-Response » mgBlog sagt:

    […] ersten Schritt zur Umsetzung der Idee aus AdWz WP-Plugin 14 – Post muss die Seite vor der Auslieferung (HTTP-Response) angepasst werden. In der Antwort müssen […]

Hinterlasse eine Antwort