Contact Form 7: Come salvare i dati inviati sul database

Uno dei form più utilizzati in WordPress è il plugin Contact Form 7.

Potrebbe capitare di dover accedere ai dati inviati per utilizzarli ad esempio in una chiamata API che li salva in un servizio di newsletter (come ad esempio: MailChimp, ActiveCampaign) oppure per memorizzarli ed archiviarli nel nostro Database.

Per poter leggere questi dati quando l’email è stata inviata si può utilizzare un hook da mettere nel file functions.php con il codice PHP che segue:

add_action( 'wpcf7_mail_sent', 'myfunction' );
myFunction(&$WPCF7_ContactForm) {
    $name = $WPCF7_ContactForm->posted_data['your-name'];
    $email = $WPCF7_ContactForm->posted_data['your-email'];
}

In questo modo andiamo a catturare il nome e l’indirizzo email inviati dal nostro modulo di Contact Form 7 compilato per poterli utilizzare. Di conseguenza anche tutti gli altri dati inviati si possono leggere allo stesso modo.

Una volta letti questi dati si possono salvare tramite una query sul nostro database in una tabella personalizzata, creata precedentemente ad esempio con phpMyAdmin:

global $wpdb;
$tablename = $wpdb->prefix.'contatti';
$wpdb->insert($tablename, array(
    'name' => $name,
    'email' => $email
  ) 
);

In alternativa ci sono diversi plugin che permettono di archiviare i messaggi e uno dei più conosciuti ed utilizzati è Flamingo dello stesso autore di CF7 ovvero Takayuki Miyoshi:

contact form 7 flamingo plugin salvare i dati

https://it.wordpress.org/plugins/flamingo/

Quindi bisogna salvaguardare i fenicotteri del fiume Pò!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.