$_POST Variablen in WP
Hi,
ich versuche gerade ein eigenes Kontakt-Formular (Affenformular) in WP einzubinden. Folgende Vorgehensweise habe ich genommen:
Zitat:
PHP-Code:
Link zur Seite: Kontakt « Siebensteins Taktiken Das Kontaktformular beruht auf Ingos "einfachem Formmailer". Ich bin für jede Hilfestellung dankbar. Peter |
Wo wird denn der Code ausgeführt, bzw. wo die Funktion definiert? (Zeig mal das komplette Page-Template)
Ich würde sowas in ein Plugin auslagern. Erstelle ein Shortcode, welches das HTML zusammen stellt (und ggf. mit Fehlermeldungen oder Bestätigungen ergänzt.) Die Auswertung trennst Du am besten von der Darstellung und sammelst das in einer Callbackfunktion auf der Action 'template_redirect'. An dem Punkt kannst Du - abhängig von der Auswertung - noch http-Header senden. Ist im Moment vielleicht nicht nötig, aber man möchte ja vorrausdenken ;) PHP-Code:
Nimm Function Reference/stripslashes deep « WordPress Codex um die slashes zu entfernen. |
Hi David,
der Code steht im Seitentemplate selbst drin. Das Formular ruf sich selber auf (Affenformular): PHP-Code:
Hier mal der komplette Code: PHP-Code:
Mein Problem ist, dass ich noch nie etwas speziell für WP programmiert habe und keine OoP behersche. Ich hatte einfach nach einer Möglichkeit eigenen PHP-Code in WP einzubinden bei Google gesucht und den Hinweis zum Seitentemplate gefunden und versucht umzusetzten. Peter |
Zitat:
Zitat:
In dem Fall reichen aber ein paar Funktionen. Zuerst einmal würde ich alle Funktionen dahin schreiben, wo sie hingehören: in die functions.php. Das schafft Übersicht und du kannst sicher sein, dass sie zur rechten Zeit im Theme verfügbar sind. Wenn du schon mit Globalen arbeitest, dann gib ihnen möglichst eindeutige Präfixe, die sich aus deinem Projekt oder deinen Initialen zusammensetzten. Besser ist, du setzt gleich auf PHP5.3 und nutzt Namespaces. Wie schon gesagt, die Auswertung würde ich machen, bevor irgend etwas an den Browser gesendet wird. Beispiel PHP-Code:
PHP-Code:
|
Hi David,
vielen Dank für deine Hinweise und Beispiele. Da muss ich wohl noch einiges lernen ... :oops: Funktionen in die functions.php einfügen dürfte das einzige sein, was ich auf Anhieb umsetzen kann. Auch die HTML-Ausgabe in eine Funktion einzubauen sollte kein Problem sein. Womit ich aber, auf Grund von Unwissenheit, Probleme habe sind die anscheinend WP-spezifischen Funktionen (z. B. wp_verify_nonce(...) oder wp_nonce_field(...) oder the_permalink() ), die kenne ich einfach noch nicht. Gibt es eine Auflistung dieser Funktionen, die komprimiert deren Aufgabe und Ausgabe Beschreibt? (Sorry, ich frage hier einfach mal den Experten ohne vorher gegoogelt zu haben, was ich sonst nicht mache) Auf jeden Fall werde ich mich mit deiner Hilfestellung beschäftigen und versuchen zu einem positivem Ergebnis zu kommen. Das kann zwar etwas dauern ... aber bisher habe ich es immer geschafft. Wenn ich gar nicht mehr weiterkomme, frage ich hier natürlich wieder nach. Peter |
Zitat:
|
Hi,
danke für die Links. Peter |
Hättest Du mal gegoogelt ;)
Da die Auswertungsfunktion bei jedem (POST)Request aufgerufen wird, dein Formular aber nicht das einzige auf deiner Site sein wird, musst du irgendwie Prüfen, ob es die Daten deines Kontaktformulars sind. Das kann man mit einer Nonce machen. Alternativ kannst du mit isset() auch auf die Existenz der von dir benannten Formularvariablen prüfen und das Nonce weglassen. |
Alle Zeitangaben in WEZ +2. Es ist jetzt 11:17 Uhr. |
Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
© Dirk H. 2003 - 2023