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ę


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 );

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.