Cerca
Generic filters
Frase esatta
Cerca nel titolo
Cerca nel contenuto
Filter by Custom Post Type
Filter by Categorie
Quick Snippets
Guide e Tutorial Joomla
Guide e Tutorial Wordpress
Notizie
Programmazione Web
Trucchi e Guide Apple Mac OS
Filtra per Tags
Seleziona / Seleziona tutti
acf
action
aggiornamento joomla
aggiornamento virtuemart
aggiungere campi
akeeba
amazon s3
amazon web services
angularjs
apache
aruba
autopost
aws
backup
backup buddy
blocksit.js
bootstrap
bordi arrotondati
cache
caching
campi personalizzati
captcha recaptcha
cf7
chronoforms
cloud
compressione file
compressione immagini
conditional fields
contact form 7
countdown
cpt
css
css framework
css3
custom post type
custom registration
data di nascita
debug
disegni
downgrade
draw
ec2
endpoints
ergonet
font awesome
font custom
fontweb
form
front end
ftp
functions.php
funzioni
glyphicons
google
hook
hosting
hosts
html
html5
image optim
immagini
javascript
joomla
joomla api
joomla development
joomla festival
joomla lombardia
joomla update
jquery
k2
lightbox
login
mac
mac os
mamp
metabox
mobile friendly
multilingua
mysql
news
ottimizzazione
ottimizzazione immagini
override
password
pdf
php
plugin
qtranslate
redis
registrazione
registrazione utente
responsive
restore
ripristino
roolback
rounded tables
select
seo
server php locale
shortcode
shortpixel
sicurezza
smau
social
spotlight
SSL
system cache
table
template
tooltips
trasferimento sito
trucchi
twitter
ubuntu
uikit
user meta
visio alternative
web advisor
widget
widgetkit
windows
woocommerce
wordpress
wordpress api
wp capability
wp user
wp-config.php
wp_query
wug
xampp
yootheme

Come aggiungere campi personalizzati agli utenti di WordPress, UserMeta

Contenuto mancante

1- Disabilità ADS Block e ricarica la pagina

2- Ricarica la pagina

Oggi vediamo come aggiungere dei campi aggiuntivi alla gestione utenti di WordPress, per esempio può succedere di avere necessità di avere dei campi perchè si sta sviluppando un plugin o un gestionale.

In questi giorni sto sviluppando un plugin per la gestione dei corsi di una palestra ed il cliente mi ha chiesto, oltre ai campi nativi di WordPress, questi :

  • Indirizzo
  • Città
  • CAP
  • Telefono
  • Scadenza certificato medico
  • Lezioni disponibili
  • Scadenza lezioni

Vediamo subito come fare

Come aggiungere campi extra agli utenti di WordPress

Diciamo che ci sono diversi metodi per aggiungere dei campi, oggi ve ne spiego uno abbastanza semplice, che è quello di utilizzare il plugin ACF Advanced Custom Fields.

Una volta installato il plugin andiamo nel menu che si è creato “Campi personalizzati” e clicchiamo su “Aggiungi nuovo” , creiamo i campi desiderati

usermeta wordpress

Ora se andiamo ad aprire un utente di WordPress, troveremo i campi appena creati

wp user extra fields

Bene fino a qui è tutto semplice, ma se voglio fare vedere i campi all’utente nel suo profilo a front end ?

Come mostrare i campi aggiuntivi nel profilo utente a front end

Scriviamo una funzione PHP con uno shortcode e poi inseriamo lo schortcode in una pagina tipo “Il tuo profilo”

Per prima cosa è necessario prelevare gli user meta, sia quelli di default di WordPress che quelli creati con ACF, come si fa ?

Intanto dobbiamo conoscere l’id dell’utente loggato prima di poter interrogare il database e richiedere i campi user meta, per questo motivo uso la funzione get_the_author_meta() e lo metto in una variabile ($user_id), poi utilizzo la funzione get_userdata() mettendolo in una variabile ($current_user) e passandogli l’id dell’utente ($user_id); invece per prendere i campi creati con ACF utilizzo la funzione get_field(‘nome_campo’), a questo punto ho ciò che mi serve per interrogare il db e prelevare i campi extra e quelli di default; ecco quindi la funzione PHP

Ora che ho definito le variabili mi serve fare un echo di ogni campo per farlo vedere nel profilo user a front end, in questo caso ho creato una tabella ma potete utilizzare un qualunque codice HTML, per esempio un tad div, ecc..

Contenuto mancante

1- Disabilità ADS Block e ricarica la pagina

2- Ricarica la pagina

Bene, ora non mi rimane che chiudere la funzione creando una shortcode da utilizzare nella pagina per mostrare i campi aggiuntivi

Ora è sufficiente creare una pagina ed inserire lo shorcode [user-profile] ed avrete questo risultato.

wp user extra field frontend

4 commenti su “Come aggiungere campi personalizzati agli utenti di WordPress, UserMeta

  1. Ciao, ottimo articolo. Volevo chiederti come fare poi nel caso in cui volessi modificare i campi aggiunti a seguito di azioni da parte dell’utente. Mi spiego meglio, nel tuo codice aggiungi il campo “lezioni disponibili” immagino quindi che l’utente si posso in qualche modo prenotare per una lezione e dopo la prenotazione quel dato campo venga in qualche modo decrementato per aggiornare il numero di lezioni rimanenti. Volevo sapere quindi come poter aggiungere tali azioni al mio sito WordPress.
    Ti ringrazio in anticipo

    • Ciao Gianluca,

      devi fare una funzione in Javascript o jQuery sul pulsante, tipo onclick iscriviti() ; poi tale funzione richiama una funzione PHP che fa l’iscrizione, io per esempio ho creato un CPT iscrizioni e ho fatto una query MySQL per iscrivere l’utente, e poi si ovviamente scala le lezioni dallo user meta dell’utente che si iscrive.

  2. Articolo bellissimo e soprattutto chiarissimo, applicato alla lettera al lavoro che sto facendo e – cosa che non succede quasi mai in informatica – ha funzionato al primo colpo 🙂
    Ora sto ammattendo su un altro argomento: una volta fatto questo lavoro, come faccio a far apparire questi campi nel form di registrazione utente, in modo da farli immettere all’utente stesso? Ci sto lavorando, scrivendo una apposita funzione da aggiungere a functions.php, ma non so se è la strada giusta. Hai suggerimenti da darmi?
    Grazie!

Commenta l'articolo

Bisogno di postare codice ? Usa un servizio gratuito come Codeshare altrimenti WordPress formatta male il codice!

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

Pin It on Pinterest

Condividi l'articolo. Grazie.

Vuoi essere aggiornato ?