Come modificare le informazioni di contatto degli utenti con una semplice funzione

Difficulty Difficulty Difficulty Posted Posted by Fulippo in Tutorial     Comments 1 comment
mar
10

Una delle caratteristiche più accattivanti di WordPress, dal punto di vista del coder, è il modo in cui gli hooks e i filtri rendono la vita estremamente facile quando è necessario modificare i comportamenti di default della piattaforma

In questo tutorial diamo per assunto che abbiate familiarità con gli hook e i filtri. Se così non fosse, date un’occhiata al codex per approfondire i concetti base riguardo la logica di funzionamento di questo meccanismo.

Le informazioni di contatto degli utenti di WordPress sono più o meno queste:

Di default, abbiamo a disposizione solo pochi campi: E-mail, sito web, AIM, Yahoo IM e Jabber / Google Talk. Come possiamo fare quindi per aggiungere nuovi campi (o rimuovere quelli inutilizzati) a seconda delle nostre necessità?

La soluzione è l’hook user_contactmethods. Assegnando una funzione di callback a questo hook (per esempio nel file functions.php del nostro tema) saremo in grado di manipolare tutti i campi di cui abbiamo parlato qualche riga più in su (tranne il campo e-mail).

Se, per esempio, volessimo aggiungere dei nuovi campi tutto quello che dovremmo fare sarebbe aggiungere le seguenti linee di codice al file functions.php:

1
2
3
4
5
6
7
8
9
10
function my_contactmethods( $contactmethods ) {
 
	$contactmethods['my_other_website'] = 'Il mio secondo sito';
	$contactmethods['my_phone_number'] = 'Il mio numero di telefono';
	$contactmethods['my_skype'] = 'Il mio contatto skype';
	$contactmethods['my_credit_card'] = 'La mia carta di credito ;)';
 
	return $contactmethods;
}
add_filter('user_contactmethods','my_contactmethods',10,1);

Tutti i campi disponibili sono racchiusi all’interno di un array chiamato $contactmethods, per cui, usando una funzione di callback, possiamo facilmente aggiungere o rimuovere tutti i campi che vogliamo

Nell’esempio precedente aggiungiamo 4 campi che saranno disponibili, attraverso gli user_metadata, per tutti gli utenti.

Se volete limitarvi a rimuovere qualche campo inutilizzato invece usate una soluzione come questa:

1
2
3
4
5
6
7
8
9
function my_contactmethods( $contactmethods ) {
 
	unset($contactmethods['aim']);
	unset($contactmethods['yim']);
	unset($contactmethods['jabber']);
 
	return $contactmethods;
}
add_filter('user_contactmethods','my_contactmethods',10,1);

Utilizzando unset rimuoverete i metodi di contatto indesiderati dal form

Code is poetry ;)

1 Comment to “Come modificare le informazioni di contatto degli utenti con una semplice funzione”

  • Does this add a record to the database as well? If not, can you share how to do so?

    Thanks!

    Kindly,

    Michael

Post comment