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

Comment créer une liste de blocage globale

Aperçu

Souhaitez-vous établir une liste noire globale au niveau du domaine qui s'applique à tous vos formulaires ? La création d'une telle liste garantira que tous les e-mails de spam précédemment signalés soient universellement bloqués sur tous vos WPForms grâce à une fonction unique et unifiée.

Par défaut, en utilisant la liste blanche ou la liste noire, vous pouvez facilement bloquer des domaines pour chaque formulaire en utilisant *@mauvais-domaine.com. Pour en savoir plus sur la configuration d'une liste blanche ou d'une liste noire, veuillez consulter ce guide utile.

Cependant, l'objectif principal de ce tutoriel est d'établir une liste globale, éliminant ainsi le besoin d'éditions individuelles dans chaque formulaire. En exploitant les capacités de PHP, la construction d'une telle liste devient un processus simple et rapide, comme nous allons le démontrer dans ce tutoriel !

Ajout du snippet

Il est maintenant temps d'ajouter l'extrait à notre site et de personnaliser la liste avec les noms de domaine que nous voulons bloquer. Copiez et collez simplement cet extrait sur votre site.

Pour toute aide sur comment et où ajouter des extraits à votre site, veuillez consulter ce tutoriel.

/*
 * Global denylist for domains on all WPForms.
 *
 * @link https://wpforms.com/developers/how-to-create-a-global-denylist/
*/
 
function wpf_dev_blacklist_global_domains( $field_id, $field_submit, $form_data ) {
 
    // Find the domain name, anything after the @ symbol
    $domain          = substr( strrchr( $field_submit, "@" ), 1 );
 
    // Add the domains here, separated by commas
    $blacklist       = array( 'deny.com', 'nope.com' );
 
    // Customize the error message that will be shown 
    if( in_array( $domain, $blacklist ) ) { 
        wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'We apologize, this domain is not accepted.', 'wpforms' );
        return;
    }
}
add_action('wpforms_process_validate_email', 'wpf_dev_blacklist_global_domains', 10, 3 );

Cet extrait examinera le nom de domaine saisi dans le champ e-mail et le vérifiera par rapport à la liste globale que vous avez créée dans cet extrait. Les noms de domaine peuvent être listés au format [email protected]. Mais chaque domaine est listé entre guillemets simples, puis séparé par une virgule.

Lorsqu'un utilisateur essaie de saisir ce domaine et soumet le formulaire, il verra une erreur.

avec cet extrait, vous pouvez facilement créer une liste noire globale

Et voilà ! Vous avez créé avec succès une liste noire globale pour tous vos WPForms. Souhaitez-vous également bloquer le langage grossier dans vos formulaires ? Consultez notre tutoriel sur Comment bloquer les soumissions de formulaires contenant du langage grossier.

Référence d'action : wpforms_process_validate_email