colonne-antique

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

Aurélien Denis est le fondateur du projet WordPress Channel proposant tutoriels et podcasts librement téléchargeables. En 2010, il fonde Neticpro, une agence Web spécialisée WordPress. Il est aussi co-fondateur du site Protuts.net (tutoriels PC/Mac/Linux) et community manager pour l’Imagine Cup 2011/2012, une compétition mondiale organisée par Microsoft. Voir tous les tutoriels de Aurélien Denis →