2026年11月12日

2026年11月12日

Come usare Gravity Forms: moduli, logica condizionale e notifiche

Questo articolo è un'edizione localizzata dell'originale giapponese. Leggi l'originale in giapponese

Gravity Forms è un plugin a pagamento per i moduli, non distribuito su WordPress.org. Dall'amministrazione puoi impostare la «logica condizionale», che mostra o nasconde i campi in base ai valori inseriti, lo smistamento dei destinatari delle notifiche in base ai dati inviati, il salvataggio nel database e l'esportazione dei dati inviati (le voci, o «entries»). In questo articolo spieghiamo come creare un modulo di base e come usare gli hook per sviluppatori. Il contenuto delle licenze e le voci delle schermate sono stati verificati sul sito ufficiale e sulla documentazione di Gravity Forms (in inglese) a novembre 2026. Le schermate sono descritte con i nomi delle voci in inglese. Se le visualizzi in italiano, le diciture possono essere diverse.

Licenze e add-on disponibili

A seconda della licenza cambiano il numero di siti e gli add-on utilizzabili.

Licenza Siti Add-on principali
Basic 1 Add-on di base come Mailchimp, HubSpot, reCAPTCHA
Pro 3 Oltre a quelli di Basic, Stripe, PayPal Checkout, Square, Zapier, Slack e altri
Elite Illimitati Tutti gli add-on (Webhooks, User Registration, Signature, Survey e altri). Compatibile anche con il multisito

L'add-on Webhooks, che invia i dati inviati a sistemi esterni, è disponibile solo con Elite (e con la licenza per le organizzazioni non profit). Stripe e PayPal Checkout per i pagamenti sono da Pro in su. Prima dell'acquisto controlla nella pagina ufficiale dei prezzi quali add-on sono inclusi in ciascuna licenza.

Installazione e registrazione della chiave di licenza

Scarica il file ZIP del plugin dalla pagina dell'account sul sito ufficiale di Gravity Forms, installalo da «Plugin → Aggiungi nuovo plugin → Carica plugin» (Plugins → Add New → Upload Plugin) e attivalo. Con WP-CLI si fa così.

wp plugin install /path/to/gravityforms.zip --activate

La chiave di licenza si inserisce nella schermata «Forms → Settings». Per distribuire le stesse impostazioni a più ambienti, puoi anche scriverla come costante in wp-config.php. Se scrivi la costante, il campo della chiave di licenza nella schermata delle impostazioni viene mostrato come non modificabile.

define( 'GF_LICENSE_KEY', 'YOUR-LICENSE-KEY-HERE' );

Crea un modulo e inseriscilo

  1. Nell'amministrazione apri «Forms → New Form», dai un nome al modulo e crealo.
  2. Da «Add Fields» sulla destra, aggiungi campi come nome (Name), indirizzo email (Email), numero di telefono (Phone), opzioni (Drop Down), testo (Paragraph Text) e consenso (Consent).
  3. Cliccando su ogni campo si aprono le sue impostazioni. Per i campi obbligatori attiva «Required».
  4. Salva con «Save Form».

Per inserire il modulo in una pagina, nell'editor a blocchi aggiungi il blocco «Gravity Forms» e scegli il modulo creato. Se lo inserisci con lo shortcode, usa questa forma, dove id è l'ID del modulo mostrato nell'elenco dei moduli.

[gravityform id="1" title="false"]

Mostra o nascondi i campi con la logica condizionale

Per mostrare o nascondere i campi, per esempio «mostra il campo di caricamento del curriculum solo quando il tipo di richiesta è "Candidature"», si usa la logica condizionale (Conditional Logic).

  1. Nell'editor del modulo, clicca sul campo che vuoi mostrare o nascondere (esempio: il campo di caricamento file del curriculum).
  2. Apri «Conditional Logic» nelle impostazioni del campo e attiva «Enable Conditional Logic».
  3. Scegli «Show» (mostra) o «Hide» (nascondi) e, per le condizioni, «All» (tutte soddisfatte) o «Any» (almeno una soddisfatta).
  4. Nella riga della condizione scegli il campo di partenza (tipo di richiesta), il confronto (is) e il valore (Candidature). Con il segno più accanto alla riga puoi aggiungere altre condizioni.

Anche per le email di notifica e per i messaggi di conferma si può impostare la logica condizionale.

Imposta le email di notifica

Le email di notifica si impostano in «Forms → modulo desiderato → Form Settings → Notifications». Quando crei un modulo viene predisposta una notifica per l'amministratore. Con «Add New» aggiungi altre notifiche, come una risposta automatica.

Voce Contenuto
Send To Destinatario. «Enter Email» è un indirizzo fisso, «Select a Field» è il campo email del modulo, «Configure Routing» smista i destinatari in base ai dati inseriti
From Email Mittente. {admin_email} (l'indirizzo email dell'amministratore in «Impostazioni → Generali» di WordPress) oppure un indirizzo fisso
Reply To Indirizzo di risposta. Nelle notifiche per l'amministratore, mettendo il merge tag del campo email di chi ha scritto si risponde più facilmente
Subject / Message Oggetto e corpo. Con i merge tag puoi inserire i dati inseriti

I merge tag sono simboli che inseriscono i valori inviati. Il valore di un campo ha la forma {etichetta:IDcampo} (esempio: {Name:1}; si può omettere l'etichetta e scrivere {:1}), mentre {all_fields} inserisce tutti i dati inseriti sotto forma di tabella. Se scegli dal pulsante dei merge tag in alto a destra nel campo del messaggio, puoi inserirli senza cercare l'ID del campo.

Se come indirizzo del mittente usi un indirizzo dello stesso dominio del sito, è meno probabile che le email vengano trattate come spam. Evita di usare come mittente l'indirizzo email di chi ha scritto e mettilo in Reply To.

Il messaggio di conferma dopo l’invio

Ciò che viene mostrato dopo l'invio si imposta in «Form Settings → Confirmations». I tipi sono questi tre.

  • Text: mostra un messaggio al posto del modulo (impostazione predefinita)
  • Page: porta a una pagina del sito
  • Redirect: porta all'URL indicato

Se prepari una pagina di invio completato per misurare annunci o analisi degli accessi, scegli Page o Redirect.

Aggiungi controlli sui dati inseriti in PHP

I controlli sui dati che le impostazioni dell'amministrazione non coprono si possono aggiungere con il filtro gform_field_validation. Se dopo il nome dell'hook aggiungi _IDmodulo_IDcampo, si applica solo a quel campo. L'esempio seguente verifica il numero di telefono (nel formato giapponese) inserito nel campo con ID 3 del modulo con ID 1. Scrivilo nel functions.php del tema o in un tuo plugin.

<?php
// Verifica il numero di telefono del campo con ID 3 del modulo con ID 1
add_filter( 'gform_field_validation_1_3', function ( $result, $value, $form, $field ) {
	if ( ! is_string( $value ) || '' === $value ) {
		return $result; // Per i campi vuoti decide l'impostazione «Required» del campo
	}

	$digits = str_replace( array( '-', ' ' ), '', $value );

	if ( ! preg_match( '/^0\d{9,10}$/', $digits ) ) {
		$result['is_valid'] = false;
		$result['message']  = 'Inserisci il numero di telefono con 10 o 11 cifre, a partire da 0 (i trattini sono ammessi).';
	}

	return $result;
}, 10, 4 );

L'ID del modulo e l'ID del campo compaiono quando selezioni il campo nell'editor del modulo. Se ricrei il modulo gli ID cambiano, quindi verifica che gli ID siano gli stessi tra produzione e sviluppo.

Invia una notifica all’esterno dopo l’invio

Se con una licenza senza l'add-on Webhooks vuoi avvisare Slack o altri a ogni invio, puoi scrivere l'elaborazione con l'azione gform_after_submission. Questa azione viene eseguita dopo il salvataggio della voce e l'invio dell'email di notifica. Viene eseguita anche per le voci classificate come spam, quindi controlla lo stato prima di inviare. Con una licenza Pro o superiore puoi anche impostarlo con l'add-on Slack o con l'add-on Zapier.

<?php
// Dopo l'invio del modulo con ID 1, invia una notifica all'Incoming Webhook di Slack
add_action( 'gform_after_submission_1', function ( $entry, $form ) {
	if ( 'spam' === rgar( $entry, 'status' ) ) {
		return;
	}

	// L'URL del Webhook va scritto in wp-config.php con define( 'MY_SLACK_WEBHOOK_URL', '...' );
	if ( ! defined( 'MY_SLACK_WEBHOOK_URL' ) ) {
		return;
	}

	wp_remote_post( MY_SLACK_WEBHOOK_URL, array(
		'headers' => array( 'Content-Type' => 'application/json' ),
		'body'    => wp_json_encode( array(
			'text' => sprintf( 'Nuova richiesta di contatto: %s', rgar( $entry, '1' ) ),
		) ),
		'timeout' => 5,
	) );
}, 10, 2 );

rgar( $entry, '1' ) è il valore del campo con ID 1. Per i campi con più caselle di inserimento, come il campo nome (Name), si ottengono con ID decimali come '1.3' (nome) e '1.6' (cognome). L'URL del Webhook è un'informazione riservata: non scriverlo direttamente nel codice e non includerlo in un repository pubblico.

Controlla ed esporta le voci

I dati inviati vengono salvati nel database di WordPress e si possono vedere in elenco da «Forms → Entries». Per esportarli in CSV apri «Forms → Import/Export», in «Export Entries» scegli il modulo, indica i campi e il periodo da esportare e scarica.

Per ottenerli da PHP si usa GFAPI::get_entries(). Ecco un esempio per vedere le ultime 10 voci con WP-CLI.

wp eval 'echo wp_json_encode( GFAPI::get_entries( 1, array(), null, array( "offset" => 0, "page_size" => 10 ) ) );'

Avvertenze

  • I dati inviati contengono dati personali. Se non serve conservarli, stabilisci come trattarli, per esempio decidendo nelle impostazioni del modulo un periodo di conservazione dopo il quale eliminarli e non lasciando in giro i CSV esportati.
  • Se le email di notifica non arrivano, spesso la causa non è Gravity Forms ma l'invio della posta dal server. Usare un plugin che invia tramite SMTP a volte migliora la situazione.
  • Prima di aggiungere codice PHP, verifica in un ambiente di staging che l'ID del modulo e l'ID del campo siano corretti e che tutto funzioni.

Domande su WordPress? Chi pubblica questo sito ha sede in Giappone e risponde in giapponese. Contatti (in giapponese)

お気軽にご相談ください

お見積りへ お問い合わせへ
▲