Ajouter une colonne personnalisée au panneau d'administration des utilisateurs

28

Il y a 5 colonnes par défaut nommées Postes de rôle de nom d'utilisateur par nom d'utilisateur dans USERS. Maintenant, je veux ajouter une colonne de plus avec son numéro de contact.

Comment puis-je atteindre cet objectif??

Ici où la boîte noire est affichée

Rohil_PHPBeginner
la source
Avez-vous configuré le numéro de téléphone? Je veux dire, votre utilisateur peut-il ajouter des numéros de téléphone dans son profil?
Robert hue
non .. Je veux juste savoir comment ajouter .. ce n'est pas fixe ce numéro de contact seulement .. c'est peut aussi juste une colonne vierge
Rohil_PHPBeginner
1
Si votre site avait beaucoup de colonnes personnalisées, vous pourriez être intéressé par un plugin appelé Colonnes Admin.
Brian
vous pouvez voir ce blog avec une explication détaillée tekina.info/…
Singh

Réponses:

43

Ok, voici le code pour permettre à vos utilisateurs d'ajouter des numéros de téléphone. Collez ce code complet dans le fichier functions.php. Cela ajoutera un nouveau champ sur le profil utilisateur pour "Numéro de téléphone" et ajoutera une table d'utilisateurs de colonne sur l'administrateur WordPress pour téléphone.

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

MODIFIER

Pour ajouter deux colonnes, vous devez apporter quelques modifications. Comparez les deux codes pour comprendre.

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
la source
Utilisez à nouveau le code. Je l'ai changé pour que vous puissiez également voir le champ du téléphone sur la liste des utilisateurs.
Robert hue
Génial! travaillé .. Mais au moment d'ajouter l'utilisateur, pourquoi ne demandent-ils pas le numéro de téléphone?
Rohil_PHPBeginner
Pouvez-vous expliquer ce code? Je veux ajouter un autre champ mais cela me montre une erreur.
Rohil_PHPBeginner
2
Je suggère que cela soit ajouté à un plugin spécifique au site car cela n'a rien à voir avec l'apparence du thème.
helgatheviking
1
Enfin $user = get_userdata( $user_id );et ne return $returnsont absolument pas nécessaires. La variable $usern'est pas utilisée par la fonction et $returnn'est pas définie, elle ne renvoie donc rien.
LoicTheAztec