Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

Beschreibung

Die wpforms_process_validate_email Aktion führt die Validierung für das Formularfeld E-Mail-Adresse aus, wenn das Formular übermittelt wird.

Parameter

$field_id
(int) Feld-ID.
$field_submit
(array) Ursprünglicher, unbereinigter Feldwert, der für das Feld übermittelt wurde.
$form_data
(array) Verarbeitete Formulareinstellungen/Daten, die zur späteren Verwendung vorbereitet sind.

Quelle

wpforms/includes/class-process.php

Weitere Informationen

Die wpforms_process_validate_email Aktion wird auf ein Array für das Formularfeld E-Mail-Adresse angewendet. Diese Funktion kann für alle Formularfelder verwendet werden do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).

Um dies beispielsweise für ein Feld Einzeiliger Text zu verwenden, würden Sie do_action( wpforms_process_validate_text, $field_id, $field_submit, $form_data ) verwenden.

Es ist wichtig zu beachten, dass Feldwerte erst später in der Verarbeitung unter wpforms_process_format_{$field_type} bereinigt werden.

Beispiele

Sie können diese Aktion verwenden, um die E-Mail-Adresse auf eine bestimmte E-Mail-Adresse zu überprüfen, die wir zuvor als Spam markiert haben, damit sie blockiert werden kann.

/*
 * Check the email address field for blocked emails.
 *
 * @link https://wpforms.com/developers/wpforms_process_validate_email/
 *
 * @param int     $field_id        Field ID.
 * @param array   $field_submit    Unsanitized field value submitted for the field.
 * @param array   $form_data       Form data and settings.
*/

function wpf_dev_block_email_address( $field_id, $field_submit, $form_data ) {

    //Create your list of blocked email addresses separated by commas
    $blocked_emails = array( 
        '[email protected]', 
        '[email protected]'
    );
 
    foreach( $blocked_emails as $email ) {
        if(strpos($field_submit, $email) !== FALSE ) {
            wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'Your email address has been flagged as spam. Please contact the site administrator directly if you have further questions.', 'wpforms' );
            return;
        }
    }
}
 
add_action( 'wpforms_process_validate_email', 'wpf_dev_block_email_address', 10, 3 );

Artikelreferenz: So erstellen Sie eine globale Denylist