In questo articolo vediamo come salvare i messaggi di Contact Form 7 con Flamingo, plugin realizzato dagli stessi autori del famoso gestore di form per WordPress.
Elenco dei Contenuti
Introduzione
Il funzionamento di Contact Form 7 prevede che i dati inseriti in un form vengano immediatamente inviati via mail all’indirizzo indicato nella relativa configurazione.
Qualora si voglia salvare una copia di queste informazioni nel database di WordPress, è necessario affidarsi ad un ulteriore plugin.
Una delle soluzioni disponibili è Flamingo, plugin “ufficiale” realizzato dagli stessi autori di Contact Form 7.
Perchè salvare i form
Come accennato prima, i form compilati vengono trasformati in una mail e inviati all’indirizzo indicato nella configurazione del form.
Per varie ragioni, può essere necessario salvare una copia di queste informazioni nel database di WordPress.
Ad esempio:
- recuperare i messaggi nel caso in cui l’invio o la ricezione della mail non vadano a buon fine
- consultare i messaggi dalla dashboard di WordPress, senza la necessità di accedere alla mail
- conservare una prova della compilazione dei form in cui sia visibile il consenso al trattamento dati rilasciato dagli utenti
Funzionamento di Flamingo
Dopo l’installazione, Flamingo inizia immediatamente a salvare i dati che transitano dai form di Contact Form senza necessità di ulteriori configurazioni.
Ogni volta che un utente compila un form, i dati inseriti sono intercettati e salvati nel database di WordPress.
Nota tecnica: i messaggi salvati da Flamingo sono post con custom post type "flamingo_inbound", pertanto si trovano nella tabella *_posts del database. Nella tabella *_postmeta si trovano invece tutti i dettagli dei messaggi, tra cui i campi individuati nel form e i relativi valori.
I messaggi recuperati sono disponibili nella dashboard di WordPress accedendo al menu Flamingo -> Messaggi in arrivo.

Questa pagina permette di visualizzare l’elenco dei messaggi ricevuti, eliminare quelli non necessari ed effettuare ricerche.
Inoltre, se Contact Form è stato integrato con reCaptcha, Flamingo sposta i messaggi spam in un elenco separato.
Cliccando su un messaggio viene mostrata una pagina con tutte le informazioni inserite nel form ed ulteriori dettagli tecnici.
Nonostante la cattura dei messaggi avvenga subito dopo l’installazione di Flamingo, è possibile che sia richiesta una configurazione specifica su Contact Form in base alla struttura dei form creati.
Salvare i form di Contact Form 7 con campi standard
Prendiamo come riferimento la struttura di base proposta da Contact Form quando si crea un nuovo form:

Il plugin inserisce questi campi standard:
- your-name (il nome dell’utente)
- your-email (l’indirizzo email dell’utente)
- your-subject (l’oggetto del messaggio)
- your-message (il contenuto del messaggio)
Quando l’utente compila e invia il form, Flamingo individua i campi presenti e salva le informazioni.
Inoltre, tra tutti quelli trovati, utilizza tre specifici campi per creare l’elenco dei messaggi ricevuti:
- your-name (il nome dell’utente)
- your-email (l’indirizzo email dell’utente)
- your-subject (l’oggetto del messaggio)

Come si vede nell’immagine, le colonne “Oggetto” e “Da” contengono le informazioni inserite nei 3 campi sopra indicati.
Per avere una prova ulteriore, basta cliccare sul messaggio e visualizzare i 3 campi nella sezione “Campi” della pagina di dettaglio.

Sapevi che puoi anche precompilare i campi di un form di Contact Form?
Salvare i form di Contact Form 7 con campi personalizzati
Cosa accade se invece di mantenere i campi predefiniti ne aggiungiamo altri con un nome diverso?
Facciamo una prova con un form con questa struttura:

Se compiliamo il form e torniamo alla lista messaggi di Flamingo, troveremo questa situazione:

Le colonne “Oggetto” e “Da” non mostrano le informazioni inserite dall’utente, bensì i nomi dei campi predefiniti che abbiamo incontrato nell’esempio precedente e che non sono presenti in questo caso.

Per poter visualizzare le informazioni anche quando non si usano i campi standard, è necessario apportare una modifica alla configurazione del form.
Dalla pagina di gestione dei form di Contact Form, aprire la pagina di modifica del form e selezionare il tab “Impostazioni aggiuntive”.
Nell’area di testo dobbiamo inserire una riga per ogni campo standard cercato da Flamingo ed indicarne il relativo nome all’interno del form che stiamo modificando.
La configurazione deve avere questo formato:
flamingo_name: "[campo-name]"
flamingo_email: "[campo-email]"
flamingo_subject: "[campo-subject]"
Facendo riferimento al nostro esempio:
flamingo_name: "[nome]"
flamingo_email: "[email]"
flamingo_subject: "[motivo]"
In sintesi, stiamo dicendo a Flamingo quale campo del nostro form deve leggere per ciascuno dei campi utilizzati nella lista dei messaggi.

Se proviamo a compilare nuovamente il form, la lista messaggi di Flamingo dovrebbe mostrare correttamente i valori inseriti:

Infine, apriamo il messaggio per avere ulteriore conferma della corretta associazione dei campi personalizzati.
