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 gli URL all'interno dei campi modulo

Introduzione

Vuoi bloccare gli URL dai campi del modulo come i campi modulo Testo a riga singola e Testo a paragrafo? La maggior parte dello spam arriva ora con bot che cercano di aggiungere link al tuo modulo e utilizzando un piccolo script PHP puoi aggiungere un altro livello di protezione al tuo modulo rifiutando qualsiasi invio del modulo che cerca di passare con un URL elencato all'interno dei tuoi campi modulo Testo a riga singola o Testo a paragrafo. In questo tutorial, ti guideremo passo dopo passo su come impedire che gli URL vengano inseriti in questi campi.

Creazione del tuo modulo

Per il nostro esempio, creeremo un semplice modulo di contatto per i campi Nome, Email, Come ci hai conosciuto (Testo a riga singola) e Commento (Testo a paragrafo).

Se hai bisogno di aiuto per creare il tuo modulo, consulta questa documentazione.

inizia creando il tuo modulo e aggiungendo i tuoi campi

Aggiunta dello snippet di codice per bloccare gli URL

Ora è il momento di aggiungere lo snippet che bloccherà gli URL all'interno del modulo.

Se hai bisogno di aiuto nell'aggiungere snippet al tuo sito, consulta questo 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 );

Questo snippet viene applicato automaticamente a tutti i moduli e impedirà a qualsiasi campo di testo normale o campo area di testo (come Testo a paragrafo) di consentire l'inserimento di URL all'interno del campo.

bloccare URL all'interno del modulo con questo script PHP

E questo è tutto! Vuoi anche bloccare parolacce in questi campi? Dai un'occhiata al nostro articolo su Come bloccare gli invii di moduli contenenti parolacce.

Riferimenti all'azione: