Contact Form 7 – Formular mit dynamischen Empfänger und Betreff
Contact Form 7 (CF7) ist ein einfaches und flexibles Plugin zur Formulargestaltung in WordPress. Mit Hilfe des Plugins Really Simple Captcha lässt sich eine Captcha Abfrage einfach ergänzen. Um die abgesendeten Formulare in der Datenbank zu speichern, kann man das Plugin Contact Form DB nutzen. Noch einen Schritt weiter kommt man mit Contact Form 7 – Dynamic Text Extension.
Hiermit kann man Felder eines Formulars, z.B. den Empfänger, dynamisch belegen.
Werte aus Custom Fields vorbelegen
Hat man z.B. ein Custom Field ‘wpcf-email’, so kann man mit folgendem CF7 Tag ein dynamic hidden field im Formular anlegen, welches dynamisch mit dem Inhalt des Custom Field ‘wpcf-email’ befüllt wird. Durch die zusätzliche Angabe von obfuscate=’on’ wird die E-Mailadresse im Quellcode verschlüsselt dargestellt.
[dynamichidden receipent "CF7_get_custom_field key='wpcf-email' obfuscate='on'"]
Nun muss man den Inhalt des dynamic field nur noch in das An-Feld des Formulars schreiben:
An: [receipent]
Dort wo man das Formular einbindet, wird einfach der von CF7 erzeugte Shortcode normal eingegeben.
Werte aus einem Standard WordPress Feld vorbelegen
Möchte man den Inhalt eines Standard WordPress Post Feldes – z.B. den Titel des aktuelen Beitrages – einfügen, so erzeugt man ein dynamic text Feld und weist ihm den Value “CF7_get_post_var key=’title'” zu. Hier wird als Beispiel das Betreff Feld der Nachricht mit dem Post Title vorbelegt.
[dynamictext betreff "CF7_get_post_var key='title'"]
In das Betreff Feld der E-mail muss nun noch der entsprechende CF7 Tag des Feldes eingefügt werden.
Betreff: [betreff]
Screenshots
Diskussion
Hallo,
ich hake an dieser Stelle ein – auch wenn Ihr Beitrag schon über zwei Jahre alt ist.
Ist es möglich, den Empfänger (die E-Mail-Adresse des Empfängers) davon abhängig zu machen, welchen Betreff der User aus einem z. B. PullDown auswählt? (z. B. Betreff: “Technik & Instandsetzung” -> Empfänger: technik@domain.de)
Für den User, der den Betreff auswählt, ist die E-Mail-Adresse nicht sichtbar.
Dank!
Niko
Auch wenn alt, dieser Tip ist echt hilfreich wenn man genau nach dieser Funktion sucht. Danke!
Hallo, ich möchte per Dropdown einen Betreff des Absenders auswählen lassen und dann die Mail an einen gezielten Empfänger versenden. Das klappt auch über die Eingabe BetreffXY|name@domain.de für unterschiedliche Empfänger.
Dieser “Betreff” soll aber auch in der Nachricht selbst aufgeführt werden, damit der Empfänger weiß, was der Absender will. Hinterlege ich den Shortcode für das Dropdown-Menü (wie alle anderen Codes für die zu übermittelten Daten), wird mir in der E-Mail aber nicht der Betreff angezeigt, sondern die hinterlegte Mailadresse (name@domain.de). Somit weiß der Empfänger NICHT, was der Absender von ihm will. Es wäre ja vielleicht egal, wenn ich für jeden Empfänger nur eine Anweisung des Absenders hätte, aber Empfänger-Mail A ist für DREI verschiedene Anfragen vorgesehen, andere widerrum nur für EIN anderes Thema. Deswegen ist es schon wichtig, dass der Betreff mit übermittelt wird.
Ich hoffe, ich konnte mich verständlich ausdrücken und ihr habt eine Idee, wie ich das Problem lösen kann.
… vielen dank fuer die erklaerung. aber ganz so klar wird mir das leider noch nicht.
die 1. anleitung (fuer ein “dynamichidden”)verstehe ich, aber was kommt nach oder (auch) vor der erstellung des “dynamichidden” feldes, in das feld “wpcf-email”?
beispiel. der user waehlt (mit einem “select”) zwischen 3 betreff-/themenbereichen aus.
Wenn er betreff/bereich 1 waehlt, geht die nachricht an email1@mail.de Wenn er betreff/bereich 3 waehlt. geht die nachricht an email3@mail.de
geht das und wie?
Vielen dank schon einmal…
Hi Nina,
frage an Dich: Was muss ich machen um mehrere Empfänger auf BCC zu setzen?
Habe dazu leider nichts gefunden, eventuell hast Du ja hier einen Tipp.
Gruß
Benjamin