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.