Atenção!

Este artigo contém código PHP e destina-se a desenvolvedores. Oferecemos este código como uma cortesia, mas não fornecemos suporte para personalizações de código ou desenvolvimento de terceiros.

Para orientação extra, consulte o tutorial do WPBeginner sobre como adicionar código personalizado.

Dispensar

Como Bloquear URLs Dentro dos Campos do Formulário

Introdução

Você gostaria de bloquear URLs de dentro dos campos do formulário, como os campos de formulário Texto de Linha Única e Texto de Parágrafo? A maioria dos spams vem agora com bots tentando adicionar links ao seu formulário e, usando um pequeno script PHP, você pode adicionar outra camada de proteção ao seu formulário, rejeitando qualquer envio de formulário que tente passar com um URL listado dentro dos seus campos de formulário Texto de Linha Única ou Texto de Parágrafo. Neste tutorial, vamos guiá-lo por cada etapa sobre como impedir que URLs sejam colocados dentro desses campos.

Criando seu formulário

Para o nosso exemplo, vamos criar um formulário de contato simples para os campos Nome, Email, Como você nos conheceu (Texto de Linha Única) e Comentário (Texto de Parágrafo).

Se precisar de ajuda para criar seu formulário, consulte esta documentação.

comece criando seu formulário e adicionando seus campos

Adicionando o trecho de código para bloquear URLs

Agora é hora de adicionar o trecho que bloqueará os URLs dentro do formulário.

Se precisar de ajuda para adicionar snippets ao seu site, consulte este tutorial.

/*
 * Block URLs from inside form on Single Line Text and Paragraph Text form fields
 *
 * @link https://wpforms.com/developers/how-to-block-urls-inside-the-form-fields/
*/
 
function wpf_dev_check_for_urls( $field_id, $field_submit, $form_data ) {

	if( strpos($field_submit, 'http') !== false || strpos($field_submit, 'www.') !== false ) {
		wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No URLs allowed.', 'wpforms' );
		return;
	} 
	
}
  
add_action( 'wpforms_process_validate_textarea', 'wpf_dev_check_for_urls', 10, 3 );
add_action( 'wpforms_process_validate_text', 'wpf_dev_check_for_urls', 10, 3 );

Este trecho é aplicado automaticamente a todos os formulários e impedirá que qualquer campo de texto normal ou campo de área de texto (como Texto de Parágrafo) permita a inserção de URLs dentro do campo.

bloquear urls dentro do formulário com este script PHP

E é isso! Você também gostaria de bloquear palavrões nesses campos? Dê uma olhada em nosso artigo sobre Como Bloquear Envios de Formulário Contendo Palavrões.

Referências de Ação: