Di 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)
b) La parte più importante che serve poi per far interagire questi due ottimi strumenti sono:
-> la classe “MCAPI.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:
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.