Wordpress: Formular für Teilnehmer-Codes

nachtwächter123

Cadet 4th Year
Registriert
Dez. 2022
Beiträge
76
Kennt jemand von euch eine Möglichkeit, für eine Wordpress-Instanz eine Seite mit Formular einzurichten, das Namen und E-Mail-Adresse entgegen nimmt und nach dem Absenden des Formulars einen individuellen Teilnahmecode dem Benutzer anzeigt und/oder per Mail versendet? Die Teilnahmecodes können vorab bereit gestellt werden, wenn die Lösung diese nicht automatisch erzeugt. Es muss jedoch gespeichert werden, welcher Name/E-Mail welchen Code erhalten hat.
 
Hi,

bei verschiedenen Formular-Plugins gibt es diverse Hooks, die beim Ausspielen, Abschicken oder nach der Validierung ausgelöst werden.

Hier kannst du mit einem Custom-Plugin eingreifen und den Code mit PHP erzeugen sowie der Email-Nachricht oder dem Frontend hinzufügen.

Wie ist das Formular gebaut? Grundsätzlich ließe sich selbst bei einem statischen Formular ein verstecktes Feld erstellen und das zb mit Javascript mit einer UUID Befüllen, das wird dann beim abschicken mitgeschickt. Das ist sozusagen die ganz klassische Methode.
 
  • Gefällt mir
Reaktionen: nachtwächter123
netzgestaltung schrieb:
Wie ist das Formular gebaut?
Zur Zeit existiert noch gar kein Formular, ich bin also komplett offen. Hast du zufällig ein paar Namen von (Fomrular-)Plugins im Kopf, die solchen Custom-Code unterstützen?

kim88 schrieb:
Danke für den Hinweis. Da das Ganze aber voraussichtlich nur einmal im Jahr stattfinden wird, sind 59€ pro Jahr ein wenig viel.
 
ich mache das mit contact form 7, die doku ist aber naja... daher hab ich mir eine hookliste angelegt:
https://github.com/netzgestaltung/contact-form-7-hooks

bequem ist das nicht unbedingt.
für mehrsprachig oder formbuilder gibts da nochmal extra-zusatz plugins (CF7 Smart Grid Design Extension(+Polylang support), Post My CF7 Form, Honeypot for Contact Form 7, Really Simple CAPTCHA, CleverReach Integration for Contact Form 7 ) - dafür kann ichs wirklich ziemlich umbasteln nach belieben(Country- oder Termslist als Select oder ähnliches)

woanders wo ich verwalte läuft formidable forms - was soll ich sagen. das schaut hübscher aus, aber lieber ist es mir nicht... gravity hab ich noch nie angeschaut...
 
Zuletzt bearbeitet:
Danke, das war eine gute Info. Habe jetzt einfach (mit Hilfe von ChatGPT) ein Custom-Plugin geschrieben, das soweit funktioniert wie benötigt. Habe es mal angehangen, falls es jemandem in Zukunft nutzt oder als Inspirationsquelle dient. Einfach das Skript in ein neues Verzeichnis wp-content/plugins/referrer legen und dann im Webinterface unter Plugins aktivieren. Funktioniert in Zusammenarbeit mit contact form 7.
 

Anhänge

also schaut schon mal nicht ganz falsch aus. überleg dir ev noch einen namens-prefix bzw einen eindeutigeren pluginnamen, zb: cf7referrer. Dann fügst du diesen namen als prefix allen funktionsnamen hinzu, so: <pluginname>_funktionsname

beispiel:
add_action('wpcf7_mail_sent', 'cf7referrer_handle_referral_form_submission'); function cf7referrer_handle_referral_form_submission($contact_form) {

so vermeidest du mögliche doppelnamen von funktionen grundsätzlich und es ist üblich, das so zu machen.

Inhaltlich würd ich mir das nochmal zeile für zeile genau anschauen, weil zb: https://contactform7.com/2020/07/28/accessing-user-input-data/ hier wird WPCF7_Submission::get_instance(); nicht benötigt.

E: hier gibts auch einen simplen generator für das Grundgerüst: https://wppb.me/ vergleich da mal die unterschiede.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: nachtwächter123
Zurück
Oben