Resumo de IA
Visão geral
Tem interesse em estabelecer uma lista negra global ao nível do domínio que se aplique a todos os seus formulários? A criação de tal lista garantirá que quaisquer e-mails de spam previamente sinalizados sejam bloqueados universalmente em todos os seus WPForms através de uma função única e unificada.
Por defeito, utilizando a Lista de Permissões ou a Lista Negra, pode facilmente bloquear domínios para cada formulário utilizando *@mau-dominio.com. Para saber mais sobre como configurar uma Lista de Permissões ou Lista Negra, consulte este guia útil.
No entanto, o objetivo principal deste tutorial é estabelecer uma lista global, eliminando a necessidade de edições individuais em cada formulário. Aproveitando as capacidades do PHP, a construção de tal lista torna-se um processo simples e rápido, como demonstraremos neste tutorial!
Adição do trecho de código
Agora é hora de adicionar o trecho ao nosso site e personalizar a lista com os nomes de domínio que queremos bloquear. Simplesmente copie e cole este trecho no seu site.
Para qualquer assistência sobre como e onde adicionar trechos ao seu site, por favor, reveja este tutorial.
/*
* 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 );
Este trecho irá analisar o nome de domínio inserido no campo de e-mail e verificá-lo em relação à lista global que construiu neste trecho. Os nomes de domínio podem ser listados no formato [email protected]. Mas cada domínio é listado com aspas simples e depois separado por uma vírgula.
Quando qualquer utilizador tentar inserir esse domínio e submeter o formulário, verá o erro.

E é tudo! Criou com sucesso uma lista negra global para todos os seus WPForms. Gostaria também de bloquear profanidade nos seus formulários? Dê uma vista de olhos ao nosso tutorial sobre Como Bloquear Submissões de Formulários com Conteúdo Profano.
Relacionado
Referência de Ação: wpforms_process_validate_email