Quésaco ?
Quand on commence à gérer un site WordPress avec plusieurs comptes, la page des utilisateurs peut vite devenir moins pratique à parcourir. Entre les identifiants, les adresses e-mail et les rôles, il manque souvent une vue simple sur les vraies informations de vos membres : leur nom et leur prénom.
Sur mon blog dédié à la catégorie WordPress, j’aime partager ce genre d’ajustements qui changent vraiment le confort d’administration au quotidien. Le bout de code que je vous propose ici permet justement d’ajouter deux colonnes personnalisées dans la liste des utilisateurs, puis de les rendre triables en un clic. Vous pouvez ainsi classer vos comptes par nom de famille ou par prénom, ce qui devient très utile sur les sites avec beaucoup d’inscrits, des clients WooCommerce ou encore des espaces membres.
Nous allons voir ensemble comment intégrer ce code proprement dans votre site, comprendre le rôle de chaque hook utilisé, et surtout éviter les petites erreurs qui empêchent parfois le tri de fonctionner correctement.
Comment ajouter les colonnes nom et prénom dans WordPress
La liste native des utilisateurs dans WordPress affiche surtout des informations techniques : identifiant, adresse e-mail, rôle ou encore nombre d’articles publiés. Pour un site avec des auteurs, des clients ou des membres, ce n’est pas toujours ce qu’il y a de plus pratique.
L’idée ici est d’ajouter deux colonnes supplémentaires dans l’administration :
- Nom
- Prénom
Ces deux champs vont récupérer directement les métadonnées utilisateur déjà présentes dans WordPress, à savoir last_name et first_name.
Une fois ce petit ajout en place, vous obtenez une vue bien plus lisible de votre base utilisateurs, surtout quand plusieurs comptes se ressemblent par leur nom d’utilisateur.
Le code complet à ajouter
Pour appliquer cette personnalisation, vous pouvez coller le code suivant dans le fichier functions.php de votre thème enfant ou dans un plugin dédié aux snippets.
add_filter('manage_users_columns', 'gbo_add_columns');
function gbo_add_columns($columns) {
$columns['nom'] = 'Nom';
$columns['prenom'] = 'Prénom';
return $columns;
}
// Rendre les colonnes triables
add_filter('manage_users_sortable_columns', 'gbo_sortable_columns');
function gbo_sortable_columns($columns) {
$columns['nom'] = 'nom';
$columns['prenom'] = 'prenom';
return $columns;
}
add_action('pre_get_users', 'gbo_order_by_name');
function gbo_order_by_name($query) {
global $pagenow; if ($pagenow == 'users.php' && isset($_GET['orderby'])) {
$orderby = sanitize_text_field($_GET['orderby']);
if ($orderby == 'nom') {
$query->set('meta_key', 'last_name');
$query->set('orderby', 'meta_value');
}
if ($orderby == 'prenom') {
$query->set('meta_key', 'first_name');
$query->set('orderby', 'meta_value');
}
}
}add_action('manage_users_custom_column', 'my_custom_column', 10, 3);
function my_custom_column($val, $column, $user_id)
{
switch ($column) {
case 'nom':
$val = get_user_meta($user_id, 'last_name', true);
break;
case 'prenom':
$val = get_user_meta($user_id, 'first_name', true);
break;
}
return $val;
}
Comprendre le fonctionnement du snippet
Ce code repose sur plusieurs hooks WordPress qui travaillent ensemble.
Le premier filtre, manage_users_columns, ajoute les deux nouvelles colonnes dans le tableau d’administration. Sans lui, WordPress n’afficherait jamais les emplacements “Nom” et “Prénom”.
Le second filtre, manage_users_sortable_columns, indique à WordPress que ces colonnes peuvent être triées comme celles déjà présentes par défaut. C’est ce qui vous permet de cliquer sur l’en-tête pour classer les utilisateurs.
Le hook pre_get_users intervient ensuite juste avant la récupération de la liste. Il modifie la requête SQL pour lui dire de trier sur la bonne meta utilisateur :
last_namepour le nomfirst_namepour le prénom
Enfin, manage_users_custom_column remplit chaque cellule avec la bonne valeur en fonction de l’utilisateur concerné.
Dans quels cas ce code devient vraiment utile
Sur un petit site vitrine, vous n’en ressentirez peut-être pas le besoin immédiatement. Par contre, dès que le nombre de comptes augmente, cette personnalisation devient vite agréable à utiliser.
Je l’emploie souvent sur :
- des boutiques WooCommerce avec beaucoup de clients
- des blogs multi-auteurs
- des extranets ou espaces membres
- des plateformes de formation
- des annuaires d’utilisateurs
Le tri alphabétique par nom fait gagner du temps, surtout quand un client vous appelle et que vous devez retrouver rapidement son compte.
Bonnes pratiques avant de l’ajouter
Je vous conseille d’éviter d’insérer ce snippet directement dans le thème parent. À la prochaine mise à jour, tout disparaîtra.
Le plus propre reste de passer par :
- un thème enfant
- un plugin de snippets
- un plugin personnalisé dédié à vos optimisations WordPress
Cela vous permet de garder votre personnalisation en place dans le temps et de mieux organiser les modifications liées à l’administration.
Un petit confort qui change l’administration
Ce genre de personnalisation fait partie des petits ajustements simples qui rendent WordPress plus agréable à utiliser au quotidien. On reste sur quelques lignes de code, mais le gain en lisibilité dans la gestion des utilisateurs se ressent vite.
Si vous intervenez régulièrement sur des sites clients ou des installations avec beaucoup d’inscrits, ce snippet mérite clairement une place dans votre boîte à outils WordPress.
