Adaugă o coloană personalizată în panoul de administrare Utilizatori
În mod implicit există 5 coloane numite Nume utilizator, Nume, Email, Rol și Articole în secțiunea UTILIZATORI. Acum vreau să adaug încă o coloană cu numărul de contact al utilizatorului.
Cum pot realiza acest lucru??

Bine, iată codul pentru a permite utilizatorilor tăi să adauge numere de telefon. Lipește acest cod complet în fișierul functions.php. Acesta va adăuga un nou câmp în profilul utilizatorului pentru "Număr de telefon" și va adăuga o coloană în tabelul utilizatorilor din administrarea WordPress pentru telefon.
function new_contact_methods( $contactmethods ) {
$contactmethods['phone'] = 'Număr de telefon';
return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );
function new_modify_user_table( $column ) {
$column['phone'] = 'Telefon';
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 );
EDITARE
Pentru a adăuga două coloane, trebuie să faci câteva modificări. Compară ambele coduri pentru a înțelege.
function new_modify_user_table( $column ) {
$column['phone'] = 'Telefon';
$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 );

Folosește din nou codul. L-am modificat astfel încât să poți vedea și câmpul pentru telefon în lista de utilizatori.

Minunat! a funcționat... Dar în momentul adăugării utilizatorului, de ce nu se cere numărul de telefon?

Poți să-mi explici acest cod? Vreau să adaug încă un câmp, dar îmi arată o eroare.

Verifică modificările în codul de mai sus. Poți adăuga câte coloane dorești.

Aș sugera să adaugi acest lucru într-un plugin specific site-ului, deoarece nu are nicio legătură cu aspectul temei.

mulțumesc Robert .. m-ai ajutat foarte mult!! poți să-mi spui doar un ultim lucru .. ce reprezintă 10 & 3 în ultima linie a codului ..

Aceasta este prioritatea și argumentele acceptate. Verifică documentația pentru add_filter aici, http://codex.wordpress.org/Function_Reference/add_filter

Dacă este o temă comercială (gratuită sau plătită), atunci te rog să nu pui acest cod în functions.php al temei. Pentru că poți pierde aceste modificări dacă tema este actualizată. Creează un mic plugin pentru asta.

Da, de ce există un return $return
la final, te rog? Poți să explici?

În final, $user = get_userdata( $user_id );
și return $return
sunt absolut necesare. Variabila $user
nu este folosită de funcție și $return
nu este definită, deci nu returnează nimic.

Salut @Robert hue, mulțumesc pentru codul funcțional. Am o întrebare. Nu văd această coloană în tabelul wp_users din baza mea de date. De ce?

Nu primesc nimic din această funcție new_modify_user_table_row( $val, $column_name, $user_id ), poți să-mi spui te rog de ce?

ah, am găsit aici.

Foarte atent la detalii, dar probabil nu avem nevoie de break; deoarece facem un return pe liniile de mai sus. Totuși, mulțumesc pentru postare - a fost foarte util.
