Email Adressen bestätigen in Contact Form 7

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 CF7 gesetzt, weil es von den ganzen kostenlos-Plugins eins der Besten 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 Kontaktfanfragen völlig aus.

Es gibt 2 Lösungswege:

  1. Selbst ein bisschen Code schubsen (über die Action und Filter Hooks von CF7)
  2. ein Plugin einsetzen

1. Variante: ein kleines 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

Email Adressen abgleichen und noch mehr - Jquery Validation for Contact Form 7

Email Adressen abgleichen

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.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.