Afficher le nombre d’articles dans chaque catégorie WordPress (post-new.php et post.php)

Pour afficher le nombre d’articles de chaque catégorie devant son nom dans l’administration WordPress exactement dans la page de modification/ajout d’article, nous avons bien cherché et une seule solution est proposée, un module sous forme de deux fonctions qui permet d’ajouter le nombre d’article, lien du plugin (copiez le code dans la page function.php de votre thème WordPress.

Le nom de ce plugin c’est Category count in meta Box, dans notre cas nous utilisons plusieurs sous catégories avec le même nom d’autres sous catégories ex :

Action
– Films
— 2013
— 2014
– Séries
— 2013
— 2014

Mais comme le plugin utilise le nom de la catégorie  » $cat_name  » pour chercher le nombre d’article, la confusion sera avec les catégories qui portent le même nom, donc ce module ne marche pas dans notre cas. Nous avons donc bien cherché et grâce à Riadh un Freelanceur qu’on remercie infiniment et qui vient de nous proposer la fonction qui résout le problème :

add_filter('wp_terms_checklist_args', 'display_custom_checklist');
function display_custom_checklist( $args ){
if ( $args['taxonomy'] == 'category' )
$args['walker'] = new my_custom_walker;
return $args;
}
// faclic.com
class my_custom_walker extends Walker {
var $tree_type = 'category';
var $db_fields = array ('parent' => 'parent', 'id' => 'term_id');

function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "$indent
    \n"; } function end_lvl( &$output, $depth = 0, $args = array() ) { $indent = str_repeat("\t", $depth); $output .= "$indent
\n"; } function start_el( &$output,$category, $depth = 0, $args = array() , $id = 0 ) { extract($args); if ( empty($taxonomy) ) $taxonomy = 'category'; if ( $taxonomy == 'category' ) $name = 'post_category'; else $name = 'tax_input['.$taxonomy.']'; // faclic.com $class = in_array( $category->term_id, $popular_cats ) ? ' class="popular-category"' : ''; $output .= "\n
  • " . ''; } // www.faclic.com function end_el( &$output, $category, $depth = 0, $args = array() ) { $output .= "
  • \n"; } }

    Voilà à quoi ressemble l’affichage :

    Nombre d'article devant chaque catégorie WordPress