Aggiungere campi nel form di registrazione della newsletter Wysija

Vediamo come aggiungere campi personalizzati nel form di registrazione del plugin newsletter Wysija di WordPress.

Se usate WordPress avrete sicuramente sentito parlare del plugin Wysija, il più amato per gestire le newsletter. Purtroppo ad oggi il plugin non permette una personalizzazione completa e autonoma del form di registrazione. Per ovviare a questo spiacevole inconveniente vi invito a leggere questa trattazione.

Modifica e aggiunta dei campi

Per prima cosa modifichiamo gli array necessari al plugin per renderizzare e salvare i nuovi campi del form di registrazione. I file da aprire e modificare sono:

  • wp-content/plugins/wysija-newsletter/models/user.php 
  • wp-content/plugins/wysija-newsletter/models/user-field.php

Inserite i nuovi campi in questo articolo aggiungeremo i campi indirizzo e provincia, ma potete sbizzarrirvi a seconda delle vostre esigenze.

Modifiche in user.php

riga 13 dopo “lastname”

 //aggiungere
 'indirizzo' => array(),
 'provincia' => array(),

riga 21

  var $searchable = array('email','firstname', 'lastname', 'provincia', 'indirizzo');

riga 149 sempre dopo lastname aggiungete

$provincia = $data->provincia;
$indirizzo= $data->indirizzo;

riga 159

 //aggiungete dentro l'array
 'provincia'=>$provincia,
 'indirizzo'=>$indirizzo,

Modifiche in user-field.php

Riga 21 aggiungete i due nuovi campi dentro l’array

   $this->defaults=array("email"=>__("Email",WYSIJA),"firstname"=>__("First name",WYSIJA),"lastname"=>__("Last name",WYSIJA),"provincia"=>__("Provincia",WYSIJA),"indirizzo"=>__("Indirizzo",WYSIJA),"ip"=>__("IP address",WYSIJA),"status"=>__("Status",WYSIJA),"created_at"=>__("Subscription date",WYSIJA));

Bene a questo punto passate al paragrafo successivo dove andremo ad modificare il database per ospitare i nuovi campi.

Modifica del database

Per modificare il database agite come segue:

  • Aprite con phpmyadmin la tabella wp_wysija_user_field
  • Inserite due (o più a seconda di quanti campi volete aggiungere) nuovi valori nella tabella (mettete l’id progressivo mi raccomando!).

Nel nostro esempio specifico aggiungete:

  1. Valori da inserire #1 – name:Provincia – column_name: provincia – type 0 – values:  NULL – default (vuoto) – is_required: 0 – error_message: Messaggio errore provincia
  2. Valori da inserire #2 – name:Indirizzo – column_name: indirizzo – type 0 – values:  NULL – default (vuoto) – is_required: 0 – error_message: Messaggio errore indirizzo

Una volta salvati i nuovi valori aprite la tabella wp_wysija_user e modificatene la struttura aggiungendo le colonne “provincia” e “indirizzo”.

[symple_box color=”gray” text_align=”left” width=”100%” float=”none”]
NOTA –  Le colonne devono essere VARCHAR(255).
[/symple_box]

Visualizzazione nuovi campi nel backend di WordPress

Ora è tutto pronto, nel widget di registrazione e nel backend dovreste già vedere che sono spuntati i nuovi campi personalizzati. Ora andiamo a far visualizzare i nuovi valori direttamente nella tabella elenco iscritti di Wysija.

Per modificare la tabella elenco iscritti del plugin apriamo il seguente file:

  • wp-content/plugins/wysija-newsletter/views/back/subscribers.php

Dopo la riga 216 aggiunte quanto segue per specificare gli header della tabella:

$header.='<th class="manage-column column-fname'.$fnamesorting.'" id="provincia" scope="col" style="width:80px;">'.__('Provincia',WYSIJA).'</th> <th class="manage-column column-lname'.$lnamesorting.'" id="indirizzo" scope="col" style="width:80px;">'.__('Indirizzo',WYSIJA).'</th>';

Dopo la riga 285 aggiungete invece nel loop i contenuti reali degli iscritti:

<td><?php echo $row["provincia"] ?></td>
<td><?php echo $row["indirizzo"] ?></td>

Mission completed!

Grazie a questo articolo avrete il completo controllo sui campi di registrazione del plugin Wysija e potrete targetizzare al meglio i vostri clienti/visitatori. Se questo articolo ti è stato utile condividilo sui social network o fammi sapere cosa ne pensi nei commenti!

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

9 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Davide
Davide
12 anni fa

Ciao, articolo veramente utile e ben fatto…però, mi viene da pensare: eseguire degli hack su un plugin comporta sempre un rovescio della medaglia, ovvero quello che poi al primo aggiornamento ( e questo plugin nello specifico viene aggiornato spesso), la modifica andrà persa con la sovrascrittura dei nuovi file. C’è un sistema per evitarlo?
Grazie in anticipo 🙂

Andrea
Andrea
12 anni fa

Ciao, articolo molto utile. Stavo cercando un modo per aggiungere altri campi al form di registrazione di Wysija e questo articolo è stato indispensabile.
Ho solo un problema nel visualizzare i nuovi campi nel backend di WP. Ho creato le nuove colonne della tabella e le intestazioni ma quando provo a prelevare un dato es. non viene visualizzato niente.
Nel DB i dati vengono scritti correttamente, infatti se faccio un export della mia lista in formato CSV li vedo scritti. Il problema è relativo solo alla visualizzazione degli stessi nel backend.
Qualche suggerimento?
Grazie.

Andrea
Andrea
12 anni fa

Ho risolto, puoi cancellare il mio commento se vuoi. Probabilmente nella nuova versione di Wysija avranno cambiato qualcosa. Comunque per risolvere va modificato anche il file wp-content/plugins/wysija-newsletter/controllers/back/subscribers.php aggiungendo i nuovi campi ai due array: $list_columns (intorno alla riga 6) e $searchable (riga seguente). Infine va modificato l’array $select (riga 151) aggiungendo i nuovi valori nella forma: [wysija]user.provincia’, ‘[wysija]user.indirizzo’, ecc ecc.
Spero che queste informazioni ti siano utili per aggiornare l’articolo.
Grazie ancora.

Walter
Walter
12 anni fa

Ciao a tutti.
Questo Wysija mi sta veramente facendo impazzire. Ottimo componente, ma forse ancora da migliorare nella customizzazione…..
Come faccio ad accorciare la dimensione dei campi in cui inserisco NOME – E-MAIL ecc…?
Ho un tema con una spalla di un tot pixel. Quando attivo il widget Wysija subscription, i campi da riempire “sbordano” di qualche pixel la spalla destra.
Grazie a tutti

Stefano
Stefano
12 anni fa

Ciao,
Ottimo articolo e ben fatto!
Ho seguito passo passo e tutto mi sembra ok, non riesco solo a far comparire la colonna nel backend di WP.
Anche seguendo le indicazioni di Andrea.

Grazie,
Stefano

Davex
Davex
8 anni fa

mi rendo conto che l’articolo è piuttosto vecchio, ma avrei un problema:

Sono riuscito a integrare il campo personalizzato senza problemi e riesco a memorizzare il valore direttamente dal form, ma poi nella schermata principale degli iscritti alla newsletter (nella scheda del dettaglio invece nessun problema, si vede e riesco anche a modificarlo), questo valore non appare, le ho provate tutte, anche a realizzare una mia query per “aggirare” il problema, ma niente non ne vuole sapere. Probabilmente aggiornando hanno modificato qualcosa che nell’articolo non è riportato e che invalida un pò tutta la procedura.

Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
9
0
Esprimete la vostra opinione commentando.x