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.

Disattivare aggiornamenti plugin wordpress

realizzazione siti web trento

Per chi come me si diverte a personalizzare plugin wordpress già esistenti perchè magari molto spesso non fatto completamente quello che desideriamo, capita spesso che si abbia la necessità di “ricordarsi” che quel plugin una volta customizzano non si debba aggiornare.

Solitamente si cerca di fare il possibile per evitare che si esegua l’aggiornamento magari inserendo nelle note nel plugin, oppure semplicemente comunicando al cliente che NON DEVE ASSOLUTAMENTE eseguire l’aggiornamento nel caso compaia il fatidico messaggio.

C’è un modo però più “sicuro” se vogliamo chiamarlo così, per evitare che compaia proprio l’eventuale messaggio di possibile aggiornamento.

Esistono nel web moltissimi plugin che permettono di disattivare gli aggiornamenti ai plugin però spesso non permettono di bloccare l’aggiornamento SOLO AD UNO SINGOLO. Anche perchè a volte basta effettivamente bloccare solo quel singolo plugin che vi siete ritrovati a modificare per forza di cose.

Bloccare quindi quel solo particolare plugin è molto semplice e si esegue inserendo delle semplici righe di codice all’interno del file “functions.php” del vostro template wordpress.


function filter_plugin_updates( $value ) {
unset( $value->response['nome-cartella-plugin/file-principale-plugin.php'] );
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

Nel campo che io ho chiamato nome-cartella-plugin va inserito il nome della cartella del plugin.
Mentre nel campo file-principale-plugin va inserito il nome del file principale del plugin.
In plugin più semplici di solito hanno un solo file, mentre per quelli più avanzati potrebbero esserci più file.
Dalla mia esperienza però molto spesso il nome del file principale è uguale a quello della cartella. Non vi resta quindi che provare ad inserire questi campi la prima volta che noterete un aggiornamento del plugin e verificare che il messaggio di “aggiornamento disponibile” scompare.

Ovviamente se dovete aggiungere più plugin alla lista, basterà duplicare la riga unset e ripetere l’operazione.

Vi è stato utile questo articolo? Avete utilizzato la funzione? Fammelo sapere lasciando un commento o condividendo questo articolo con i tuoi amici.

©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