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

Rohil_PHPBeginner
quelle
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 );
Robert hue
quelle
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