Ajouter des colonnes personnalisées dans le back-office de WordPress
Le back-office de WordPress liste les différents contenus présents sur votre site (article, page, type de contenu personnalisé) à l’aide de colonnes comme le titre, l’auteur, la taxonomie (catégorie, tags), la date et plus. A l’aide des options de l’écran, vous pouvez facilement masquer celles qui vous semblent inutiles mais comment faire pour afficher d’autres données personnalisées ?
Avant-propos
Ce tutoriel est réservé à des utilisateurs avancées et qui ont des connaissance de base en PHP.
En effet, il est nécessaire de connaitre quelques fonctions de récupération de données propres à WordPress (affichage des miniatures ou récupération des valeurs d’un champ personnalisé, etc.).
L’intégralité des codes ci-après sont à insérer dans le fichier functions.php ou dans un plugin de fonctions globales.
Toutefois, c’est en faisant des erreurs que l’on apprend !
Étape n°1 – Création des colonnes personnalisées
Cette première étape consiste à enregistrer les intitulés de colonnes que nous allons ajouter dans l’interface.
Dans cet exemple, nous ajouterons une colonne pour afficher la miniature de l’article.
Je vous recommande la lecture du tutoriel dédié à l’internationalisation de WordPress et de votre thème pour comprendre la traduction des éléments texte.
// Création des colonnnes personnalisées
function wpc_colonne($columns) {
return array_merge( $columns,
array('thumb' => __('Miniature')) );
}
add_filter('manage_posts_columns' , 'wpc_colonne');
Étape n°2 – Affichage des données personnalisées
Il nous à présent indiquer quels sont les contenus que nous allons récupérer pour les envoyer dans les différentes lignes des différentes colonnes.
Dans ce cas pratique, nous allons afficher la miniature associé à l’article – la fameuse Image à la une.
// Affichage des données
add_action('manage_posts_custom_column', 'data_colonne');
function data_colonne($name) {
global $post;
switch ($name) {
case 'thumb':
if(has_post_thumbnail($post->ID))
{
?>
<a href="<?php the_permalink(); ?>" target="_blank">
<?php the_post_thumbnail(array(70,70));?>
</a>
<?php
}
else
{
_e('No Thumbnail','twentyeleven');
}
break;
}
}
Étape n°3 – Vérification du résultat final
Une fois le fichier de fonctions enregistré, retournez dans votre administration WordPress et appréciez le résultat final.

Une colonne pour afficher les images à la une
Vous pouvez bien entendu ajouter d’autres colonnes en récupérant par exemple des valeurs présentes dans des champs personnalisés à l’aide de la fonction get_post_meta notamment.
Notez qu’il est possible de masquer celle-ci via les Options de l’écran, de la même manière que pour les autres d’ailleurs.
Et vous, chers amis fans de WordPress, quelles sont les colonnes que vous avez ajouté ?
Crédits photo : Albe86
WordPress 3.5 – Un CMS pour créer et gérer blogs et sites Web
RT-Theme 17, traduction française
Maven Hosting, 12 mois d’hébergement
Themetick, traduction française
Hello
J’ai ajouté le nombre de vues de mes articles (avec le plugin Post Views Count bien sur) et j’utilise la même technique, la seule, la vraie
Merci !
Cool j’ai ta bénédiction !
Bonjour,
Bonjour sur un site de vente de machines d’occasion , j’ai utilisé l’id de l’article pour en en faire une référence, du coup j’ai rajouté une colonne dans la liste des articles qui rappelle cette référence (id-marque-date plus exactement pour la référence …)
Bonne journéee …
Salut,
J’affiche le nombre de vue d’un article aussi, mais ta technique va me permettre d’afficher la miniature et le résultat final est vraiment sympa
Très bon article une fois de plus et surtout de bonnes explications.
Une petite question pour les custom post type c’est : manage_${post_type}_posts_custom_column par contre pour la partie concernant les taxonomies une fonction native existe ?
Bonne question, je n’avais pas pensé aux taxonomies. Cela dit, je ne vois pas quoi tu voudrais afficher ? Sinon, oui tu peux différencier les articles des pages des custom post.
« manage_{$screen->taxonomy}_custom_column »
J’ai de mon côté personnalisé les sidebares en fonction de mes articles à l’aide du très bon plugin « Custom Sidebars ».
Comment pourrais-je faire pour afficher dans ma colonne le nom de la sidebar utilisée par l’article ?
(je coince un peu)
Très bon tuto merci, j’aimerai savoir si il est possible de modifier une valeur d’un champs personnalisé dans ces colonnes ?
Comme j’ai parfois 50 posts avec la même valeur de champs cela me ferai gagner beaucoup de temps.
En passant par une requête SQL dans phpMyAdmin…
Bonjour,
Merci pour ce petit tuto. Je souhaite personnellement afficher l’URL des pages. J’ai réussi à afficher celles des articles, mais je ne parviens pas à ajouter cette colonne pour les PAGES.
Pouvez-vous me guider svp ?
Bonjour, super tuto merci ! Comment faut-il faire pour le placer dans un autre ordre ? Par exemple mettre la date à la fin ? Merci
Bonjour à tous
savez vous quel plugin utiliser pour afficher tous les posts avec leur(s) catégories, afin de modifier à la volée les catégories de chaque post.
car faire cela, un à un, n rentrant dans l’article prend un temps fou.
A vous lire