Falls ihr euch gefragt habt, wie man die Nutzer bei einem Contact Form 7 Formular davor bewahrt, eine falsche Email Adresse einzugeben (Tippfehler, Zahlendreher usw.) – ich hätte hier eine Lösung anzubieten.
Auch wenn ich meine ganzen WordPress-Webseiten mit dem Formular Plugin „Gravity Forms“ ausgerüstet habe, kommt es häufig vor, dass ich mich mit Aufgabenstellungen für Contact Form 7 beschäftige.
Ich habe selbst früher fast nur und ausschließlich auf Contact Form 7 gesetzt, weil es das beste kostenlose Formular-Plugin ist. Dazu weit verbreitet. Sehr weit verbreitet. Und warum auch nicht? Es ist so einfach wie mächtig (wenn man weiß, wo man ansetzen muss) und reicht für einfache Kontaktanfragen völlig aus.
Es gibt 2 Lösungswege:
- Selbst ein bisschen Code schubsen (über die Action und Filter Hooks von CF7)
- ein Plugin einsetzen
1. Variante: ein Code-Snippet verwenden
Ist einfacher zu bewerkstelligen als man denkt. Was braucht ihr? Natürlich ein in CF7 erstelltes Formular (mit zwei Email Pflichtfeldern your-email und your-email-confirm), das Code Snippets Plugin und diesen Codeschnipsel hier:
add_filter( 'wpcf7_validate_email*', 'custom_email_confirmation_validation_filter', 20, 2 );
function custom_email_confirmation_validation_filter( $result, $tag ) {
$tag = new WPCF7_Shortcode( $tag );
if ( 'your-email-confirm' == $tag->name ) {
$your_email = isset( $_POST['your-email'] ) ? trim( $_POST['your-email'] ) : '';
$your_email_confirm = isset( $_POST['your-email-confirm'] ) ? trim( $_POST['your-email-confirm'] ) : '';
if ( $your_email != $your_email_confirm ) {
$result->invalidate( $tag, "Die Email Adressen stimmen nicht überein?" );
}
}
return $result;
}
In dem Code Snippets Plugin legt ihr ein neues Snippet an, fügt diesen Schnipsel hilfreichen Codes dort ein, speichert ihn ab und aktiviert ihn. Wenn ihr das nicht über das Code Snippets Plugin lösen wollt, müsst ihr den Code in der functions.php Datei eures Themes unterbringen. Das würde wiederum bedeuten, ihr müsst ein Child Theme anlegen …. ihr seht, worauf ich hinaus will.
Wichtig ist, dass die zu prüfenden Email Adressfelder in eurem Formular your-email und your-email-confirm lauten und Pflichtfelder sind. Sonst müsst ihr halt den Code hier abändern – ihr seht ja, wo die entsprechenden Feldnamen auftauchen.
Das Beispiel habe ich übrigens vom CF7 Entwickler übernommen. Bei vielen Fragen bezüglich Cf7 lohnt es sich sehr, auf der offiziellen Seite vorbeizuschauen. Das erspart viele Anfragen in den Untiefen des Internets.
2. Nimms leicht – nimm ein Plugin
![](https://lars-mielke.de/wp-content/uploads/email-confirm-contact-form-7-1024x540.png)
Während die eben vorgestellte Lösung nur für Email Adressen funktioniert (und auch dort nur die zwei Adressen abgleicht), ist das Jquery Validation for Contact Form 7 Plugin ein kleiner Rundumschlag. Hier kann man verschiedene Feldtypen auf verschiedene Muster und Anforderungen hin überprüfen. Mathematische Operatoren wie größer/gleich, Zeichenzahl oder Zeichentyp sind natürlich am einfachsten und in diesem Plugin vorrangig integriert. Ich würde auf jeden Fall die Pro-Version empfehlen, da die 10 $ den Kohl nicht fett machen und dann auch die Emailbestätigung mit drin ist. Auf der Demoseite der Pro-Version kann man das testen. Funktioniert wie im vorangegangenen Beispiel, ist aber bequemer.
Super – hat mir sehr geholfen