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.

Capture d'écran - Colonne personnalisée sous WordPress
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

20 commentaires

  1. Julio Potier

    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 !

    1. Tristan

      Bonjour, merci pour ce tuto, et pour ces précieux plug ins ! j’ai réussi avec la miniature, mais je galère un peu à intégrer le nombre de vues dans une colonne… Merci d’avance pour votre aide et pour tous vos conseils et autos ! Tristan

  2. steflp

    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 …

  3. Marian

    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 ?

  4. Aurélien

    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)

  5. Hybrid59

    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.

  6. Lilhouh

    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 ?

  7. quentinsinger

    Bonjour, super tuto merci ! Comment faut-il faire pour le placer dans un autre ordre ? Par exemple mettre la date à la fin ? Merci

  8. samsab

    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

  9. aicha

    Bonsoir,
    merci pour le tuto mais j’ai besoin de relier deux tables listing et utilisateur de telle façon que pour chaque listing je veux savoir qui l’a déposer Merci

  10. Akro Web

    Super article. Merci
    Petite question :
    Je souhaiterai dans la liste des articles, au niveau de la colonne date rajouter la date et l’heure.
    Car actuellement pour un article publié il est noté « publié il y a 13 heures » et pour un article planifié « 28/04/2016 »
    Je souhaiterai simplement qu’il soit noté « 28/04/2016 à 13 heures »

    Une idée ?

    Mercu

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX