Aggiungi una colonna personalizzata al pannello di amministrazione Utenti
Ci sono 5 colonne predefinite chiamate Nome utente, Nome, Email, Ruolo e Articoli in UTENTI. Ora voglio aggiungere un'altra colonna con il suo numero di contatto.
Come posso realizzarlo??

Ecco il codice per permettere agli utenti di aggiungere numeri di telefono. Incolla questo codice completo nel file functions.php. Questo aggiungerà un nuovo campo "Numero di telefono" nel profilo utente e una colonna nella tabella degli utenti nell'area di amministrazione di WordPress per il telefono.
function new_contact_methods( $contactmethods ) {
$contactmethods['phone'] = 'Numero di telefono';
return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );
function new_modify_user_table( $column ) {
$column['phone'] = 'Telefono';
return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );
function new_modify_user_table_row( $val, $column_name, $user_id ) {
switch ($column_name) {
case 'phone' :
return get_the_author_meta( 'phone', $user_id );
default:
}
return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );
MODIFICA
Per aggiungere due colonne è necessario apportare alcune modifiche. Confronta entrambi i codici per comprendere le differenze.
function new_modify_user_table( $column ) {
$column['phone'] = 'Telefono';
$column['xyz'] = 'XYZ';
return $column;
}
add_filter( 'manage_users_columns', 'new_modify_user_table' );
function new_modify_user_table_row( $val, $column_name, $user_id ) {
switch ($column_name) {
case 'phone' :
return get_the_author_meta( 'phone', $user_id );
case 'xyz' :
return '';
default:
}
return $val;
}
add_filter( 'manage_users_custom_column', 'new_modify_user_table_row', 10, 3 );

Usa di nuovo il codice. L'ho modificato così puoi vedere anche il campo telefono nella lista degli utenti.

Ottimo! Funziona.. Ma al momento dell'aggiunta di un utente perché non chiedono il Numero di Telefono?

Puoi spiegarmi questo codice? Voglio aggiungere un altro campo ma mi mostra un errore.

Controlla le modifiche nel codice sopra. Puoi aggiungere tutte le colonne che vuoi.

Suggerirei di aggiungerlo a un plugin specifico per il sito poiché non ha nulla a che fare con l'aspetto del tema.

grazie Robert.. mi hai aiutato moltissimo!! puoi solo dirmi un'ultima cosa.. cosa sono 10 & 3 nell'ultima riga del codice..

Questo è la priorità e gli argomenti accettati. Controlla la documentazione su add_filter qui, http://codex.wordpress.org/Function_Reference/add_filter

Se si tratta di un tema commerciale (gratuito o a pagamento) allora per favore non inserire questo codice nel functions.php del tema. Perché potresti perdere queste modifiche se il tema viene aggiornato. Crea un piccolo plugin per questo.

Sì, perché c'è un return $return
alla fine, per favore? Potresti spiegarlo?

Infine $user = get_userdata( $user_id );
e return $return
sono assolutamente non necessari. La variabile $user
non viene utilizzata dalla funzione e $return
non è definita quindi non restituisce nulla.

hey @Robert hue grazie per il codice funzionante. Ho una domanda. Non vedo questa colonna nella mia tabella wp_users del DB. Perché?

Non ottengo nulla da questa funzione new_modify_user_table_row( $val, $column_name, $user_id ), potresti dirmi perché?

ah trovato qui.

Davvero pignolo ma probabilmente non abbiamo bisogno del break; visto che stiamo facendo un return nelle righe sopra. Grazie comunque per aver postato - è stato davvero utile.

Non sarebbe meglio, credo, mettere questo codice in un plugin o in /wp-admin piuttosto che in una cartella specifica del tema? Se lasciato in una cartella specifica del tema come functions.php, verrebbe molto probabilmente sovrascritto quando il tema viene aggiornato.
