Dodaj niestandardową kolumnę do panelu administracyjnego Użytkownicy

28

Domyślnie jest 5 kolumn o nazwie Nazwa użytkownika E-mail Rola Posty w USERS. Teraz chcę dodać jeszcze jedną kolumnę z jego numerem kontaktowym.

Jak mogę to osiągnąć?

Tutaj pokazano czarną skrzynkę

Rohil_PHPBeginner
źródło
Czy masz skonfigurowany numer telefonu? Mam na myśli, czy Twój użytkownik może dodać numery telefonów do swojego profilu?
Robert hue
nie .. Chcę tylko wiedzieć, jak dodać .. nie naprawiam tylko tego numeru kontaktowego .. może być tylko pustą kolumną
Rohil_PHPBeginner
1
Jeśli Twoja witryna zawiera wiele niestandardowych kolumn, możesz zainteresować się wtyczką o nazwie Kolumny administracyjne.
Brian
możesz zobaczyć tego bloga ze szczegółowym wyjaśnieniem tekina.info/...
Singh

Odpowiedzi:

43

Ok, oto kod, który pozwala użytkownikom dodawać numery telefonów. Wklej ten pełny kod do pliku functions.php. Spowoduje to dodanie nowego pola w profilu użytkownika dla „Numeru telefonu” i tabeli użytkowników w kolumnie dla administratora WordPress na telefon.

function new_contact_methods( $contactmethods ) {
    $contactmethods['phone'] = 'Phone Number';
    return $contactmethods;
}
add_filter( 'user_contactmethods', 'new_contact_methods', 10, 1 );


function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    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 );

EDYTOWAĆ

Aby dodać dwie kolumny, musisz wprowadzić zmiany. Porównaj oba kody, aby zrozumieć.

function new_modify_user_table( $column ) {
    $column['phone'] = 'Phone';
    $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 );
Robert Hue
źródło
Użyj kodu ponownie. Zmieniłem to, abyś mógł zobaczyć pole telefonu na liście użytkowników.
Robert hue
Świetny! działało .. Ale w momencie dodawania użytkownika, dlaczego nie pytają o numer telefonu?
Rohil_PHPBeginner
Czy możesz wyjaśnić ten kod? Chcę dodać jeszcze jedno pole, ale pokazuje mi błąd.
Rohil_PHPBeginner
2
Sugerowałbym dodanie tego do wtyczki specyficznej dla witryny, ponieważ nie ma to nic wspólnego z wyglądem motywu.
helgatheviking
1
Wreszcie $user = get_userdata( $user_id );i return $returnabsolutnie nie są konieczne. Zmienna $usernie jest używana przez funkcję i $returnnie jest zdefiniowana, więc nic nie zwraca.
LoicTheAztec