Il peut être sympas voire même très  intéressant de pouvoir consulter en un clien d’oeil le nombre d’entité de nos custom post type dans le dashboard de wordpress. En effet nativement le dashboard ne remonte que les éléments suivants :

  • Articles
  • Pages
  • Catégories
  • Mots clés

Une simple fonction php et un appel à une action spécifique vont nous permettre de faire cela en… 20 secondes montre en main si vous maitriser le copier coller 🙂 Voici le code à intégrer dans votre fichier functions.php de votre thème :

add_action('dashboard_glance_items', 'add_cpt_to_rightnow_widget');
/**
 * Add custom post type to the dashboard widget
 */
function add_cpt_to_rightnow_widget(){
   $glances = [];

   $args = [
      'public'   => true,  // Showing public post types only
      '_builtin' => false,  // Except the build-in wp post types (page, post, attachments)
   ];

   // Getting your custom post types
   $post_types = get_post_types($args, 'object', 'and');
   // dd($post_types);
   foreach ($post_types as $post_type) {
      // Counting each post
      $num_posts = wp_count_posts($post_type->name);
      if($num_posts->publish > 0){
         // Number format
         $num = number_format_i18n($num_posts->publish);
         // Text format
         $text = _n($post_type->labels->singular_name, $post_type->labels->name, intval($num_posts->publish));
         $text = lcfirst($text);
         $glance = '';
         // If use capable to edit the post type
         if (current_user_can('edit_posts')) {
            // Show with link
            $glance .= '<a class="' . $post_type->name . '-count" href="' . admin_url('edit.php?post_type=' . $post_type->name) . '">' . $num . ' ' . $text . '</a>';
         } else {
            // Show without link
            $glance .= '<span class="' . $post_type->name . '-count">' . $num . ' ' . $text . '</span>';
         }
         // Save in array
         $glances[] = $glance;
      }
   }

   // return them
   return $glances;
}