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;
	}
}

Source 1 Source 2