Integrazione tra Contact Form 7 e Mailchimp

Integrazione tra Contact Form 7 e Mailchimp

Freddie_Light_Background-270x270Di recente mi è capitato di trovare una soluzione comoda ed intuitiva per integrare le form di richiesta informazioni di un sito in wordpress, con l’iscrizione alla newsletter Mailchimp.

Per eseguire questa procedura ho utilizzato per la realizzazione e la gestione delle form di contatto il plugin Contact Form 7, un plugin molto versatile e che più lo utilizzo e più mi rendo conto di come si adegui perfettamente alle mie esigenze.

Oltre al plugin che si occupa del lavoro più importante della procedura, ovvero è quello che in fin dei conti gestisce tutta la parte di creazione dei campi da compilare ed esegue i controlli per vedere che i campi siano inseriti correttamente, abbiamo anche bisogno di:

[wp_ad_camp_1]

a) un account Mailchimp del quale avremo in particolare bisogno di:

-> API keys  (recuperabile, una volta loggati in mailchimp nel menu EXTRAS) come mostra la figura sotto (per ulteriori informazioni sull’API Key vi rimandiamo al sito):

-> ID univoco della lista sulla quale vogliamo che l’utente di iscriva (vedi immagine per come trovarlo)
ID lista

b) La parte più importante che serve poi per far interagire questi due ottimi strumenti sono:

-> la classeMCAPI.class.php” da inserire all’interno della vostra cartella template attivo.

-> l’inserimento del seguente codice nel file functions.php del vostro template wordpress attivo

/* Integrazione MailChimp con CF7
* utilizza la classe MCAPI.class.php
*/


function wpcf7_send_to_mailchimp($cfdata) {
$formtitle = $cfdata->title;
$formdata = $cfdata->posted_data;
// Verifica se la checkbox è selezionata
if ($formdata['mailchimp-optin'] ) {
$names = explode(' ',trim($formdata['your-name']));
$firstName = $names[0];
$lastName = '';
if (count($names)>1){
// more than one word in name field
$lastName = array_pop($names);
}
$send_this_email = $formdata['your-email'];
$mergeVars = array(
'FNAME'=>$firstName,
'LNAME'=>$lastName
);
// qui è richiesta la classe MCAPI.class.php
require_once('MCAPI.class.php');
// recupera l'API Key
$api = new MCAPI('API KEY');
// recupera l'id della lista dove iscrivere l'indirizzo
$list_id = 'idlista';
// Invia il contenuto del modulo nella lista di MailChimp senza il doppio opt-in
$retval = $api->listSubscribe($list_id, $send_this_email, $mergeVars, 'html', false,true);
}
}
add_action('wpcf7_mail_sent', 'wpcf7_send_to_mailchimp', 1);


Come vedete, nella funzione da inserire nel file functions.php ci sono due campi che ho evidenziato in rosso (API KEY e idlista) questi sono i due riferimenti che abbiamo nomitato prima tra i dati necessari di mailchimp.

[wp_ad_camp_1]

BENE! Ora abbiamo tutto quello che ci serve per attivare la nostra area dedicata alla registrazione alla newsletter nelle nostre form di contatto gestite da contact form.

La procedura da eseguire è semplice:

– selezionare il modulo di contatto creato precedentemente con C F 7 per modificarlo

– inserire all’interno della form, dove abbiamo i nostri campi il seguente codice (senza l’asterisco davanti alla parola input):

<*input type="checkbox" name="mailchimp-optin" value="1" /> Desidero iscrivermi alla newsletter

Eseguito l’inserimento salvare la maschera di contatto e testarla.

Ecco il risultato:

Schermata 2014-04-01 alle 18.56.03
Il procedimento verificherà se la checkbox è stata selezionata e iscriverà eventualmente l’utente alla vostra newsletter.

Contact Form 7, oltre che ad essere un ottimo plugin per la gestione delle maschere di contatto permette di fare molte altre cose se “combinato” con il plugin giusto, se volete saperne di più non smettere di seguirmi e non dimenticate di farmi sapere se l’articolo vi è stato utile.

Francesca Roccabruna

7 commenti

David Scritto il21:36 - 12 Febbraio 2016

Salve, sono alle prime armi, da un anno e mezzo parlo italiano e mi si sfuge un po tutto, ci ho provato a far questo invece ho combinato un casino, vorrei capire dov’e la cartella template attivo imagino che dopo che so dove’e resta solo copiar ed incollare l’archivio “MCAPI.class.php” dentro. L’altro è che non riesgo a capire dove incollare [wp_ad_camp_1]
ni dove incollare tutto il contenuto dopo, cioe, se al inizio, nel mezzo o pure alla fine
Poi c’e i due campi evidenziato in rosso (API KEY e idlista) devo sustituir questo con [wp_ad_camp_1]?
insuma, non ho capito niente lo so… a cuba lo ultimo che ho fatto e stato pascal, non ricordo piu niente.
Grazie

    Francesca Scritto il22:28 - 8 Marzo 2016

    [wp_ad_camp_1] va inserito nella form di CONTACT FORM

    API KEY e idlista sono comunicati da Mailchimp all’interno del tuo account mailChimp

    la cartella template è quella che tu hai attivato… tutti i template si trovano nella cartella wp-content/themes

igor casagrande Scritto il10:57 - 18 Novembre 2015

Ciao Francesca, trovo i tuoi articoli molto interessanti quindi ho deciso di sottoporti una domanda: è possibile -usando contact form7 su WordPress- abilitare un modo per rendere validi gli indirizzi mail? Mi spiego meglio: se compilo il form, il messaggio viene inviato anche se nel campo mail uso un indirizzo fasullo.
Grazie per l’attenzione!
Igor_

    Francesca Scritto il12:21 - 23 Novembre 2015

    In parte Contact Form 7 effettua già una verifica se l’indirizzo email è inserito correttamente (devi selezionare il tipo di campo “e-mail”) perchè effettui quel controllo.
    Per quanto riguarda “l’esistenza” della mail quello non è previsto da Contact Form che io sappia.

matteo Scritto il00:18 - 21 Ottobre 2015

Ciao Francesca,
sto cercando da giorni un plugin o una procedura per creare un database editabile, in cui vengano inseriti tutti i campi compilati di un Contact Form 7.
Contact Form DB lo fa ma non permette di editare le celle create (a meno di acquistare l’estensione).
In pratica vorrei che quando gli utenti compilano il form, i dati inseriti convergano in un database interno o esterno a wordpress, e che successivamente io possa variare i dati in esso contenuti per aggiornarlo. Ma la domanda più importante è: ma dove vanno a finire i dati inseriti nei form di CF7?
Grazie.
P.S. Non sono un informatico 🙂

    Francesca Scritto il14:57 - 4 Novembre 2015

    Se non ricordo male Contact Form DB ti da la possibilità di esportare in excel?

    Raffaele Scritto il22:41 - 9 Novembre 2019

    Dovrebbe esserci “Flamingo”, un’estensione degli stessi creatori di CF7 che permette la memorizzazione dei contatti e del dettaglio delle richieste effettuate tramite form direttamente su WordPress.

©2021 AGANIS WEB SOFTWARE di Francesca Roccabruna P.IVA TRENTO 02183500228 - N.REA 205930 La Web Agency per la realizzazione del tuo sito web
Privacy Policy