Tempo di lettura: 2 minuti

Sviluppando un sito per un mio cliente, mi sono ritrovato con la necessità di integrare nel form di contatto, il campo che permette di selezionare la provincia.

Il plugin che utilizzo per il form, è il famoso Contact Form 7.

Ecco a voi il codice aggiornato (con tutte le province italiane al momento), che vi permette di inserire il menù a tendina con la lista di tutte le province italiane.

All’interno del vostro pannello di creazione del form inserite questo codice nella posizione che intendete far visualizzare la lista delle province.

[select* province include_blank "Agrigento|AG" "Alessandria|AL" "Ancona|AN" "Aosta|AO" "Arezzo|AR" "Ascoli Piceno|AP" "Asti|AT" "Avellino|AV" "Bari|BA" "Barletta-Andria-Trani|BT" "Belluno|BL" "Benevento|BN" "Bergamo|BG" "Biella|BI" "Bologna|BO" "Bolzano|BZ" "Brescia|BZ" "Brindisi|BR" "Cagliari|CA" "Caltanissetta|CL" "Campobasso|CB" "Carbonia-Iglesias|CI" "Caserta|CE" "Catania|CT" "Catanzaro|CZ" "Chieti|CH" "Como|CO" "Cosenza|CZ" "Cremona|CR" "Crotone|KR" "Cuneo|CN" "Enna|EN" "Fermo|FM" "Ferrara|FE" "Firenze|FI" "Foggia|FG" "Forlì-Cesena|FC" "Frosinone|FR" "Genova|GE" "Gorizia|GO" "Grosseto|GR" "Imperia|IM" "Isernia|IS" "La Spezia|SP" "LAquila|SQ" "Latina|LT" "Lecce|LE" "Lecco|LC" "Livorno|LI" "Lodi|LO" "Lucca|LU" "Macerata|MC" "Mantova|MN" "Massa e Carrara|MS" "Matera|MT" "Medio Campidano|VS" "Messina|ME" "Milano|MI" "Modena|MO" "Monza e Brianza|MB" "Napoli|NA" "Novara|NO" "Nuoro|NU" "Ogliastra|OG" "Olbia-Tempio|OT" "Oristano|OR" "Padova|PD" "Palermo|PA" "Parma|PR" "Pavia|PV" "Perugia|PG" "Pesaro e Urbino|PU" "Pescara|PE" "Piacenza|PC" "Pisa|PI" "Pistoia|PT" "Pordenone|PN" "Potenza|PZ" "Prato|PO" "Ragusa|RG" "Ravenna|RA" "Reggio Calabria|RC" "Reggio Emilia|RE" "Rieti|RI" "Rimini|RN" "Roma|RM" "Rovigo|RO" "Salerno|SA" "Sassari|SS" "Savona|SV" "Siena|SI" "Siracusa|SR" "Sondrio|SO" "Taranto|TA" "Teramo|TE" "Terni|TR" "Tornino|TO" "Trapani|TP" "Trento|TN" "Treviso|TV" "Trieste|TS" "Udine|UD" "Varese|VA" "Venezia|VE" "Verbano-Cusio-Ossola|VB" "Vercelli|VC" "Verona|VR" "Vibo Valentia|VV" "Vicenza|VI" "Viterbo|VT"]

Ecco il pannello di controllo del vostro form, per farvi capire meglio:

pannello-controllo-contact-form-7

Il risultato sarà questo:

inserire-province-italiane-contact-form-7

Qualche dubbio o suggerimento? Commentate e parliamone.

19 commenti su “Inserire Campo lista province italiane Contact Form 7”

  1. Ciao Emiliano,
    grazie per l’articolo. Mi chiedo però come fare a suddividere le provincie per regione, ovvero se l’utente selezione venezia compariranno solo le province di venezia nella select successiva e così per le altre regioni? Come si fa?
    grazie

  2. Ciao Emiliano,
    grazie per l’articolo e soprattutto per l’elenco delle province!
    Mi piacerebbe che al posto delle linee che appaiono quando decidi di selezionare la prima riga “blank” si potesse inserire un testo, in questo caso “Provincia” ma in altri casi per esempio “fai la tua scelta” e cosi via.
    E’ possibile? Se la risposta è si potreste indicarmi come fare?
    Grazie mille!

    1. Ciao Cinzia,

      grazie a te per aver seguito la mia guida.

      Potresti provare cosi :

      [select* province "fai la tua scelta" "Agrigento|AG" "Alessandria|AL" "Ancona|AN" "Aosta|AO" "Arezzo|AR" "Ascoli Piceno|AP" "Asti|AT" "Avellino|AV" "Bari|BA" "Barletta-Andria-Trani|BT" "Belluno|BL" "Benevento|BN" "Bergamo|BG" "Biella|BI" "Bologna|BO" "Bolzano|BZ" "Brescia|BZ" "Brindisi|BR" "Cagliari|CA" "Caltanissetta|CL" "Campobasso|CB" "Carbonia-Iglesias|CI" "Caserta|CE" "Catania|CT" "Catanzaro|CZ" "Chieti|CH" "Como|CO" "Cosenza|CZ" "Cremona|CR" "Crotone|KR" "Cuneo|CN" "Enna|EN" "Fermo|FM" "Ferrara|FE" "Firenze|FI" "Foggia|FG" "Forlì-Cesena|FC" "Frosinone|FR" "Genova|GE" "Gorizia|GO" "Grosseto|GR" "Imperia|IM" "Isernia|IS" "La Spezia|SP" "L'Aquila|SQ" "Latina|LT" "Lecce|LE" "Lecco|LC" "Livorno|LI" "Lodi|LO" "Lucca|LU" "Macerata|MC" "Mantova|MN" "Massa e Carrara|MS" "Matera|MT" "Medio Campidano|VS" "Messina|ME" "Milano|MI" "Modena|MO" "Monza e Brianza|MB" "Napoli|NA" "Novara|NO" "Nuoro|NU" "Ogliastra|OG" "Olbia-Tempio|OT" "Oristano|OR" "Padova|PD" "Palermo|PA" "Parma|PR" "Pavia|PV" "Perugia|PG" "Pesaro e Urbino|PU" "Pescara|PE" "Piacenza|PC" "Pisa|PI" "Pistoia|PT" "Pordenone|PN" "Potenza|PZ" "Prato|PO" "Ragusa|RG" "Ravenna|RA" "Reggio Calabria|RC" "Reggio Emilia|RE" "Rieti|RI" "Rimini|RN" "Roma|RM" "Rovigo|RO" "Salerno|SA" "Sassari|SS" "Savona|SV" "Siena|SI" "Siracusa|SR" "Sondrio|SO" "Taranto|TA" "Teramo|TE" "Terni|TR" "Tornino|TO" "Trapani|TP" "Trento|TN" "Treviso|TV" "Trieste|TS" "Udine|UD" "Varese|VA" "Venezia|VE" "Verbano-Cusio-Ossola|VB" "Vercelli|VC" "Verona|VR" "Vibo Valentia|VV" "Vicenza|VI" "Viterbo|VT"]
      

      togli la prima riga “blank” ed aggiungi una voce “fai la tua scelta”, mettendo il testo che desideri.

      Fammi sapere se funziona. 🙂

      Un saluto

  3. Ciao Emiliano, ti ringrazio per la tua risposta.
    Tutto funziona perfettamente.
    L’unico “inghippo” però è che se io voglio rendere quel campo obbligatorio il testo che si va ad inserire al posto di “blank” (per esempio – fai la tua scelta) viene letto come dato inserito e quindi quel campo potrebbe essere omesso poiché non viene segnalato come campo mancante quando si clicca sul tasto “invia” del modulo.
    Sai come aggirare l’ostacolo?
    Grazie mille!

    1. Ciao Cinzia,

      Hai ragione. Ho trovato la soluzione per te!

      lascia il blank come era all’inizio, quindi cosi :

      [select* province include_blank "Agrigento|AG" "Alessandria|AL" "Ancona|AN" "Aosta|AO" "Arezzo|AR" "Ascoli Piceno|AP" "Asti|AT" "Avellino|AV" "Bari|BA" "Barletta-Andria-Trani|BT" "Belluno|BL" "Benevento|BN" "Bergamo|BG" "Biella|BI" "Bologna|BO" "Bolzano|BZ" "Brescia|BZ" "Brindisi|BR" "Cagliari|CA" "Caltanissetta|CL" "Campobasso|CB" "Carbonia-Iglesias|CI" "Caserta|CE" "Catania|CT" "Catanzaro|CZ" "Chieti|CH" "Como|CO" "Cosenza|CZ" "Cremona|CR" "Crotone|KR" "Cuneo|CN" "Enna|EN" "Fermo|FM" "Ferrara|FE" "Firenze|FI" "Foggia|FG" "Forlì-Cesena|FC" "Frosinone|FR" "Genova|GE" "Gorizia|GO" "Grosseto|GR" "Imperia|IM" "Isernia|IS" "La Spezia|SP" "L'Aquila|SQ" "Latina|LT" "Lecce|LE" "Lecco|LC" "Livorno|LI" "Lodi|LO" "Lucca|LU" "Macerata|MC" "Mantova|MN" "Massa e Carrara|MS" "Matera|MT" "Medio Campidano|VS" "Messina|ME" "Milano|MI" "Modena|MO" "Monza e Brianza|MB" "Napoli|NA" "Novara|NO" "Nuoro|NU" "Ogliastra|OG" "Olbia-Tempio|OT" "Oristano|OR" "Padova|PD" "Palermo|PA" "Parma|PR" "Pavia|PV" "Perugia|PG" "Pesaro e Urbino|PU" "Pescara|PE" "Piacenza|PC" "Pisa|PI" "Pistoia|PT" "Pordenone|PN" "Potenza|PZ" "Prato|PO" "Ragusa|RG" "Ravenna|RA" "Reggio Calabria|RC" "Reggio Emilia|RE" "Rieti|RI" "Rimini|RN" "Roma|RM" "Rovigo|RO" "Salerno|SA" "Sassari|SS" "Savona|SV" "Siena|SI" "Siracusa|SR" "Sondrio|SO" "Taranto|TA" "Teramo|TE" "Terni|TR" "Tornino|TO" "Trapani|TP" "Trento|TN" "Treviso|TV" "Trieste|TS" "Udine|UD" "Varese|VA" "Venezia|VE" "Verbano-Cusio-Ossola|VB" "Vercelli|VC" "Verona|VR" "Vibo Valentia|VV" "Vicenza|VI" "Viterbo|VT"]
      

      poi metti questo codice alla fine del file cambiando tra gli apici il testo ‘Scrivi ciò che vuoi’ con ‘Fai la tua scelta’ o ciò che vuoi (fai un backup del file di sicurezza cosi puoi ripristinarlo in caso di problemi ) nel file functions.php, che si trova in Aspetto – Editor – functions.php :

      add_action( 'wp_head', 'udesign_meta_description', 5 );
      
      function my_wpcf7_dropdown_form($html) {
      	$text = 'Scrivi ciò che vuoi';
      	$html = str_replace('---', '' . $text . '', $html);
      	return $html;
      }
      add_filter('wpcf7_form_elements', 'my_wpcf7_dropdown_form');
      

      Questo script permette di sostituire le tre linee (il blank) con questa stringa. Di conseguenza se l’utente non seleziona nulla viene mostrato il messaggio perchè il campo è obbligatorio.

      Io ho testato e funziona, spero anche a te! 🙂

      Fammi sapere

  4. Ciao Emiliano,
    ti ringrazio moltissimo per la spiegazione chiara e semplice.
    Siccome sono alle prime armi, ho paura ad andare a toccare i file functions.php.
    Non appena mi sentirò più sicura, applicherò quanto mi scrivi.
    Nel frattempo rinnovo i ringraziamenti.
    A presto
    Cinzia

  5. Sei fantastico!
    Quindi se non ho capito male, carico questo plugin e immetto il codice che tu mi hai indicato nel precedente post e tutto funzionerà come d’incanto?
    Grazie mille!

  6. Ciao Emiliano, ti confermo che tutto funziona perfettamente.
    Ora avrei da chiederti un altra cosa: se all’interno dello stesso modulo contatti ho due menù a discesa e vorrei che tutti e due fossero obbligatori come devo fare?
    Inserendo il codice che tu mi ha dato in entrambe le posizioni del modulo contatto mi esce quello che io ho inserito nella descrizione “scrivi ciò che vuoi” ovvero nel mio caso “Provincia”. Come posso fare per far si chè in un campo esca “Provincia” e nell’altro “Categoria di appartenenza”?
    Ho provato ad inviarti un messaggio usando la chat ma il modulo sembra non funzionare.
    Grazie!

    1. Ciao Cinzia.

      Sono felice che funziona! 🙂

      Ho capito la tua richiesta.

      Andrebbe modificato il codice che ti ho mandato inserendo la condizione che mostri un differente testo in base al nome del menù a discesa.
      Faccio qualche test e spero di darti una soluzione.
      Aggiornerò il commento non appena avrò qualche info in più.

      Un saluto

      Emiliano

  7. Ciao Emiliano!
    Grazie dei tuoi suggerimenti, io sto creando un sito con un campo a discesa in cui sono elencati tutte le tipologie di lavoro e mi piacerebbe che l’utente che compila il form trovasse il lavoro inserendo la prima lettera senza dover scorrere un elenco lunghissimo. Come posso fare?

  8. Buongiorno Emiliano, io avrei bisogno di fare la classica selezione Regioni, Provincie, Comuni (provandola a fare con le tue indicazioni, con cf7-conditional-fields, però per aggiungere i comuni è un’infinità) volevo chiederti quindi queste indicazioni, avendo trovato in rete lo script per la funzione (quello che ho scaricato a questo link mi sembra adatto a quello che voglio io https://www.yourinspirationweb.com/2010/09/09/come-realizzare-delle-select-concatenate-con-php-e-jquery/#comments) però non ho capito in quali cartelle inserire i file e non so come integrarlo in Contact Form 7, ho visto che hai dato indicazioni e codice sempre per CF7, mi daresti una mano per come fare, ti ringrazio. Un saluto

    1. Ciao Giuseppe, spero di non duplicare il commento.
      Ho scritto un plugin che credo risponda esattamente alle tue esigenze (che erano anche le mie).
      Il plugin è disponibile qui: https://wordpress.org/plugins/campi-moduli-italiani/
      consente anche di avere diversi elenchi di comuni (includendo o meno i comuni cessati), che può essere utile nel caso in un form devi richiedere il comune di nascita (includendo quindi i comuni cessati) o quello di residenza (escludendoli).
      A questo indirizzo: https://www.vivatacademia.org/chi-siamo/iscriviti-a-vivat-academia/ puoi vedere un modulo che utilizza tutte le funzionalità del plugin in produzione. Il modulo utilizza i campi condizionali per correlare la select degli stati con quella dei comuni.

  9. Ciao Giuseppe, come posso inserire nell’elenco delle province alcune voci NON selezionabili, ad esempio i nomi delle REGIONI, in modo da rendere la lettura più scorrevole?
    Grazie!

Lascia un commento