Attenzione!

Questo articolo contiene codice PHP ed è destinato agli sviluppatori. Offriamo questo codice come cortesia, ma non forniamo supporto per personalizzazioni del codice o sviluppo di terze parti.

Per ulteriore assistenza, consulta il tutorial di WPBeginner su come aggiungere codice personalizzato.

Chiudi

Come bloccare l'invio di moduli contenenti volgarità

Vuoi bloccare le tue richieste di moduli contenenti volgarità? Puoi facilmente creare un elenco di parolacce che impediranno qualsiasi invio di modulo se vengono trovate all'interno del tuo Testo Paragrafo o in un campo Testo Riga Singola utilizzando un piccolo snippet di codice. In questo tutorial, ti guideremo attraverso i passaggi su come ottenere questo con PHP.

Creazione del tuo modulo

Per prima cosa, dovrai creare un nuovo modulo e aggiungere un campo Testo Paragrafo o Testo Riga Singola.

Se hai bisogno di aiuto nella creazione di un modulo, consulta questa documentazione.

aggiungi un campo modulo di testo singolo o paragrafo al tuo nuovo modulo

Bloccare le richieste contenenti volgarità

Successivamente, crea un elenco di parole che desideri aggiungere al tuo filtro volgarità. Una volta identificate le parole che desideri bloccare, dovrai aggiungere uno di questi snippet al tuo sito. Se hai bisogno di aiuto nell'aggiungere snippet al tuo sito, consulta questa documentazione.

Aggiungerai ogni parola al tuo $blocked_words separata da una virgola.

Campo modulo Testo Paragrafo

/**
 * 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 );

L'utilizzo di questo snippet bloccherà le richieste contenenti volgarità all'interno del campo modulo di testo paragrafo

Campo modulo Testo Riga Singola

/**
 * 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 modulo Testo Formattato

/**
 * 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 questo è tutto! Ora hai creato e implementato un filtro volgarità per i tuoi campi modulo Riga Singola e Testo Paragrafo. Vuoi bloccare gli URL dall'essere inseriti nel tuo modulo? Dai un'occhiata al nostro tutorial su Come bloccare gli URL all'interno dei campi modulo.

Azioni di riferimento