Atenção!

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

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

Ignorar

Como Bloquear Submissões de Formulários Contendo Profanidade

Gostaria de bloquear submissões do seu formulário que contenham palavrões? Pode facilmente criar uma lista de palavras impróprias que irá impedir qualquer submissão de formulário se forem encontradas no seu campo Texto de Parágrafo ou num campo Texto de Linha Única utilizando um pequeno trecho de código. Neste tutorial, vamos guiá-lo através dos passos sobre como conseguir isto com PHP.

Criar o seu formulário

Primeiro, terá de criar um novo formulário e adicionar um campo Texto de Parágrafo ou Texto de Linha Única.

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

adicionar um campo de formulário de texto único ou de parágrafo ao seu novo formulário

Bloquear submissões que contenham palavrões

Em seguida, crie uma lista de palavras que deseja adicionar ao seu filtro de palavrões. Assim que tiver identificado as palavras que deseja bloquear, terá de adicionar um destes trechos ao seu site. Se precisar de ajuda para adicionar trechos ao seu site, consulte esta documentação.

Adicionará cada palavra à sua $blocked_words separada por uma vírgula.

Campo de Formulário de Texto de Parágrafo

/**
 * Prevent profanity words from Paragraph Text form fields.
 *
 * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
 */

function wpf_dev_profanity_filter_paragraph( $field_id, $field_submit, $form_data ) {

        // Create your list of profanity words separated by commas
	$blocked_words = array( 
		'badword1', 
		'badword2'
	);

    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' );
            return;
        }
    }

}

add_action( 'wpforms_process_validate_textarea', 'wpf_dev_profanity_filter_paragraph', 10, 3 );

Utilizar este trecho irá bloquear submissões que contenham palavrões dentro do campo de formulário de texto de parágrafo

Campo de Formulário de Texto de Linha Única

/**
 * Prevent profanity words from Single Line Text form fields.
 *
 * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
 */

function wpf_dev_profanity_filter_single_text( $field_id, $field_submit, $form_data ) {

        // Create your list of profanity words separated by commas
	$blocked_words = array( 
		'badword1', 
		'badword2'
	);

    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' );
            return;
        }
    }

}

add_action( 'wpforms_process_validate_text', 'wpf_dev_profanity_filter_single_text', 10, 3 );

Campo de Formulário de Texto Rico

/**
 * Prevent profanity words from Rich Text form fields.
 *
 * @link https://wpforms.com/developers/how-to-block-form-submissions-containing-profanity/
 */

function wpf_dev_profanity_filter_rich_text( $field_id, $field_submit, $form_data ) {

        // Create your list of profanity words separated by commas
	$blocked_words = array( 
		'badword1', 
		'badword2'
	);

    foreach( $blocked_words as $word ) {
        if(strpos($field_submit, $word) !== FALSE ) {
            wpforms()->process->errors[ $form_data[ 'id' ] ][ $field_id ] = esc_html__( 'No profanity allowed.', 'plugin-domain' );
            return;
        }
    }

}

add_action( 'wpforms_process_validate_richtext', 'wpf_dev_profanity_filter_rich_text', 10, 3 );

E é tudo! Criou e implementou agora um filtro de palavrões para os seus campos de formulário Linha Única e Texto de Parágrafo. Gostaria de bloquear URLs de serem inseridos no seu formulário? Veja o nosso tutorial sobre Como Bloquear URLs Dentro dos Campos do Formulário.

Ações de Referência