Ankerlink an den Anfang der Seite
microphone 2170045 1920
Generic filters
Filter by Kategorien

Der Beitrag, geschriebem am 9. August 2019, ist schon etwas älter und könnte womöglich nicht mehr aktuell sein

Der Filter für die Inhaltsprüfung eines Formularfeldes bezieht sich auf den Typ. Hierbei ist zu unterscheiden, ob es sich um ein Pflichtfeld handelt oder nicht. Es macht also einen Unterschied, ob man auf wpcf7_validate_text prüft oder wpcf7_validate_text*.

Auf diese Weise kann ein bestimmten Feldtyp global geprüft werden, ober aber innnerhalb der Funktion ein Feldname explizit angesprochen werden. if ( 'name-des-zu-validierenden-feldes' == $tag->name ).

Im nachfolgenden Beispiel sollen in einem bestimmten Pflicht-Textfeld nur Kleinbuchstaben und Ziffern erlaubt sein.

add_filter( 'wpcf7_validate_text*', 'username_validation_filter', 20, 2 );
 
function username_validation_filter( $result, $tag ) {
    if ( 'wp-username' == $tag->name ) {
        $username = isset( $_POST['wp-username'] ) ? trim( $_POST['wp-username'] ) : '';
        if ( !preg_match ('/^[a-z0-9]/', $username ) ) {
            $result->invalidate( $tag, "Bitte nur Kleinbuchstaben und Ziffern verwenden" );
        }
    }
 
    return $result;
}

Bitte das Kommentarfeld nicht für Supportanfragen nutzen; hier kann kein Support angeboten werden. Die Angabe von Name oder E-Mail-Adresse ist optional, ein Spitzname wäre trotzdem nett.

Schreibe einen Kommentar

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

Hinweis: Name und E-Mail-Adresse (beides optional, da alle Kommentare moderiert werden) werden dauerhaft gespeichert. Über dieses Formular kann jeder Zeit die Löschung persönlicher Daten oder Kommentare angefordert werden; die Anfrage wird nicht veröffentlicht und nach der Bearbeitung gelöscht. IP-Adressen, die mit Kommentaren gespeichert werden, werden nach zwei Monaten automatisch gelöscht.

Ihre Nachricht wird möglicherweise zur Spam-Prüfung an OpenAI (USA) weitergeleitet. Weitere Informationen finden Sie in unserer Datenschutzerklärung.