Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

Description

L'action wpforms_process_validate_email déclenche la validation du champ de formulaire Adresse e-mail lors de la soumission du formulaire.

Paramètres

$field_id
(int) ID du champ.
$field_submit
(array) Valeur brute/non assainie d'origine soumise pour le champ.
$form_data
(array) Paramètres/données du formulaire traités, préparés pour une utilisation ultérieure.

Source

wpforms/includes/class-process.php

Plus d'informations

L'action wpforms_process_validate_email est appliquée à un tableau pour le champ de formulaire Adresse e-mail. 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 utiliser ceci pour un champ Texte sur une seule ligne, vous utiliseriez do_action( wpforms_process_validate_text, $field_id, $field_submit, $form_data ).

Il est important de noter que les valeurs des champs ne sont pas assainies avant plus tard dans le processus, à wpforms_process_validate_{$field_type}.

Exemples

Vous pouvez utiliser cette action pour scanner l'Adresse e-mail à la recherche d'une adresse e-mail spécifique que nous avons précédemment signalée comme spam afin qu'elle puisse être bloquée.

/*
 * 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 d'article : Comment créer une liste de blocage globale