Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous offrons ce code par courtoisie, mais nous ne fournissons pas de support pour les personnalisations de code ou le développement de tierces parties.

Pour plus d'informations, consultez le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Rejeter

Description

Le wpforms_process_validate_email déclenche la validation de l'élément Adresse électronique lorsque le formulaire est soumis.

Paramètres

$field_id
(int) ID du champ.
$field_submit
(array) Valeur originale brute/non nettoyée soumise pour le champ.
$form_data
(tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.

Source

wpforms/includes/class-process.php

Plus d'informations

Le wpforms_process_validate_email est appliquée à un tableau pour Adresse électronique champ de formulaire. Cette fonction peut être utilisée pour tous les champs de formulaire do_action( wpforms_process_validate_{$field_type}, $field_id, $field_submit, $form_data ).

Par exemple, pour l'utiliser dans le cadre d'un Texte sur une seule ligne vous utiliserez do_action( wpforms_process_validate_text, $field_id, $field_submit, $form_data ).

Il est important de noter que les valeurs des champs ne sont assainies qu'à un stade ultérieur du traitement, à l'étape wpforms_process_format_{$field_type}.

Exemples

Vous pouvez utiliser cette action pour rechercher dans l'adresse électronique une adresse spécifique que nous avons précédemment signalée comme étant du spam, afin de la bloquer.

/*
 * 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 );

Référence de l'article : Comment créer une liste de refus globale