Cerca
Filtra la ricerca ...
Frase esatta
Filter by Custom Post Type
Categorie
Tags

Puoi disiscriverti da una o tutte le liste in qualunque momento

Come aggiungere nuovi campi di registrazione su WooCommerce

Nello sviluppo di siti ecommerce, in questo caso WordPress e WooCommerce, molto spesso capita di avere la necessità di ulteriori campi durante la registrazione di un utente.

In questa guida aggiungeremo al form di registrazione WooCommerce quattro nuovi campi: Nome, Cognome, Telefono, Data di Nascita.

Per prima cosa andiamo nel pannello impostazioni di WooCommerce e andiamo nella sezione Accounts, se non è stata abilitata la registrazione dalla pagina MyAccount, abilitiamola spuntando l’opzione come da figura.

pannello woocommerce

Adesso prendiamo il file functions.php che è contenuto dentro il vostro tema e apriamolo.

Aggiungiamo queste righe di codice in fondo al file per far apparire alla registrazione i nuovi campi che vogliamo salvare.

Se avrete fatto tutto correttamente dovreste avere nella pagina del mio account, un form simile a quello che vedete nello screen.

registrazione campi

Come validare i campi di registrazione WooCommerce

Adesso sempre nel file functions.php aggiungiamo questo codice che permetterà la validazione dei nuovi campi quando l’utente vorrà registrarsi.

Questa operazione serve per controllare se l’utente abbia inserito o meno i dati, in caso di errore viene visualizzato un messaggio con l’eventuale descrizione dell’errore (ad esempio: il campo telefono non può essere vuoto).

Inoltre è stato aggiunto un controllo per validare il formato della data di nascita cosi da essere sicuri che sia valida.

Se volete che ad esempio telefono e data di nascita non sia obbligatori basta eliminare dalla funzione la condizione associata, come nell’esempio di seguito.

Ho lasciato solamente il controllo se la data di nascita è valida perchè può capitare che non sia vuota e quindi è stata inserita dall’utente.

Come salvare i dati di registrazione WooCommerce nel database

Adesso non ci rimane che salvare i dati che l’utente ha inserito sul database.

Sempre sul nostro functions.php aggiungiamo in fondo questa funzione.

Essa permette di salvare , se presenti, i campi sull’utente appena creato.

Inoltre l’utente avrà precompilati i campi nel checkout di WooCommerce quando andrà a fare acquisti.

6 commenti su “Come aggiungere nuovi campi di registrazione su WooCommerce

  1. Ciao grazie mille seguendo il tuo articolo sono riuscito ad inserire i campi nome, cognome, etc. nel form di woocommerce del mio sito.
    Tutto funziona egregiamente (il database si aggiorna alla grande) unica cosa che non riesco a fare è di inserire il nome e cognome del nuovo utente nella email che il sistema mi manda ogni qual volta si iscrive un nhovo membro.-
    Per gestire queste notifiche uso il plug “Better Notifications for WordPress” che come shortcode per inserire nome e cognome prevede: Author User Firstname: [user_firstname]
    e Author User Lastname: [user_lastname].
    Nonostante abbia seguito le istruzioni l’email che mi manda il predetto plugin contiene l’esatta indicazione dello username e della email del nuovo membro, ma non anche il nome e cognome che ho inserito seguendo il tuo articolo.
    Ciao e grazie

  2. Articolo eccellente, chiaro ed esaustivo

    Una domanda. Come posso fare a far visualizzare il campo personalizzato anche nella pagina “account” del frontend. In particolare nell’area “edit-adress”.

    • Buongiorno,

      non mi mandare email dal form di contatto se non stai richiedendo una consulenza a pagamento; i commenti funzionano benissimo come vedi, semplicemente li approvo a mano.

      Per rispondere alla tua domanda, i campi aggiuntivi sono dei meta, quindi devi creare un form che mostra gli user meta usando una funzione PHP, va fatto un plugin.

Commenta l'articolo

Bisogno di postare codice ? Usa un servizio gratuito come Codeshare altrimenti WordPress formatta male il codice ed io non posso aiutarti!
Se necessiti delle modifiche al codice che ho scritto puoi chiedermi una consulenza, non ti risponderò nei commenti. Ti ringrazio per la collaborazione, sono certo che tu capisca.

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