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
- Nell'amministrazione apri «Forms → New Form», dai un nome al modulo e crealo.
- 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).
- Cliccando su ogni campo si aprono le sue impostazioni. Per i campi obbligatori attiva «Required».
- 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).
- Nell'editor del modulo, clicca sul campo che vuoi mostrare o nascondere (esempio: il campo di caricamento file del curriculum).
- Apri «Conditional Logic» nelle impostazioni del campo e attiva «Enable Conditional Logic».
- Scegli «Show» (mostra) o «Hide» (nascondi) e, per le condizioni, «All» (tutte soddisfatte) o «Any» (almeno una soddisfatta).
- 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)