Benutzerdefinierte Spalte zum Benutzeradministrationsbereich hinzufügen


28

Es gibt standardmäßig 5 Spalten mit dem Namen Benutzername Name E-Mail-Rolle Beiträge in USERS. Jetzt möchte ich noch eine Spalte mit seiner Kontaktnummer hinzufügen.

Wie kann ich das erreichen ??

Hier wird die Blackbox angezeigt


Haben Sie eine Telefonnummer eingerichtet? Kann Ihr Benutzer Telefonnummern in sein Profil aufnehmen?
Robert Hue

nein .. Ich möchte nur wissen, wie man hinzufügt .. es ist nicht nur diese Kontaktnummer zu reparieren .. es kann auch nur eine leere Spalte sein
Rohil_PHPBeginner

1
Wenn Ihre Site viele benutzerdefinierte Spalten enthält, ist möglicherweise ein Plugin mit dem Namen "Admin-Spalten" für Sie von Interesse.
Brian

Sie können diesen Blog mit ausführlicher Erklärung sehen tekina.info/…
Aniket Singh

Antworten:


43

Ok, hier ist der Code, mit dem Ihre Benutzer Telefonnummern hinzufügen können. Fügen Sie diesen vollständigen Code in die Datei functions.php ein. Dies fügt ein neues Feld im Benutzerprofil für "Telefonnummer" hinzu und fügt eine Spalte Benutzertabelle in WordPress Admin für Telefon hinzu.

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

BEARBEITEN

Um zwei Spalten hinzuzufügen, müssen Sie einige Änderungen vornehmen. Vergleichen Sie beide Codes, um zu verstehen.

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

Verwenden Sie den Code erneut. Ich habe es geändert, damit Sie das Telefonfeld auch in der Benutzerliste sehen können.
Robert Hue

Groß! funktioniert .. Aber zum Zeitpunkt des Hinzufügens Benutzer, warum fragen sie nicht nach der Telefonnummer?
Rohil_PHPBeginner

Können Sie bitte diesen Code erklären? Ich möchte ein weiteres Feld hinzufügen, aber es zeigt mir einen Fehler.
Rohil_PHPBeginner

2
Ich würde vorschlagen, dass dies zu einem website-spezifischen Plugin hinzugefügt wird, da es nichts mit dem Erscheinungsbild des Themas zu tun hat.
Helgatheviking

1
Endlich $user = get_userdata( $user_id );und return $returnsind absolut nicht nötig. Variable $userwird von der Funktion nicht verwendet und $returnist nicht definiert, sodass sie nichts zurückgibt.
LoicTheAztec
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.