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 ?
Dans cet exemple, nous ajouterons une colonne pour afficher la miniature de l’article. Code à insérez dans le fichier fonction.php de votre thème :
/*-- Ajout de la colonne "Référence" (source 1) --*/
// Déclaration des nouvelles colonnes
add_filter('manage_posts_columns', 'register_my_custom_column');
// Affichage des nouvelles colonnes
add_filter('manage_posts_custom_column', 'show_my_custom_column', 10, 3);
// Fonction de déclaration des nouvelles colonnes
function register_my_custom_column($columns){
return order_my_custom_column($columns, array(array(
// Identifiant unique de la colonne
'name' => 'thumbnail',
// Nom de la colonne
'label' => __('Thumbnail'),
// Position de la colonne (-1 = fin, 0 = début)
'position' => 1
)));
}
// Fonction de l'ordre d'affichage des nouvelles colonnes
function order_my_custom_column($columns, $items){
foreach($items as $item){
if($item['position'] != -1){
$tmp = $columns;
$columns = false;
$i = 0;
foreach($tmp as $key => $val){
if($i == $item['position'])
$columns[$item['name']] = $item['label'];
$columns[$key] = $val;
$i++;
}
}else{
$columns[$item['name']] = $item['label'];
}
}
return $columns;
}
// Fonction d'affichage des nouvelles colonnes
function show_my_custom_column($name){
global $post;
switch($name){
// Identifiant unique de la colonne
case 'thumbnail':
// Affichage de la miniature de l'article
echo get_the_post_thumbnail($post->ID, array(
100,
100
));
break;
}
}