htmlcss.fr Des tutos ou tutoriels Wordpress, html, php ou javascript.

Indicateur d’articles en attentes

I

Un autre petit pense-bête: comment indiquer dans l’administration de WordPress, le petit nombre en orange à coté d’un post type?

Le code est finalement assez simple. On hook sur les class du menu dans l’admin et on vient compter les posts qui ont tel ou tel statut..

Il est aussi possible de créer des nouveaux statuts et de faire fonctionner ce code avec les nouveaux statuts.

add_filter('add_menu_classes', 'show_pending_number');
function show_pending_number($menu) {
  $types = array("post", "page", "custom-post-type"); // les type de post que l'on souhaite cibler
  $status = "draft"; // ou pending, ou un autre status
  foreach($types as $type) {
    $num_posts = wp_count_posts($type, 'readable');
    $pending_count = 0;
    
    if (!empty($num_posts->$status)) {
      $pending_count = $num_posts->$status;
    }
    
    if ($type == 'post') {
      $menu_str = 'edit.php';
    } else {
      $menu_str = 'edit.php?post_type=' . $type;
    }

    foreach( $menu as $menu_key => $menu_data ) {
      if( $menu_str != $menu_data[2] ) {
        continue;
      }
      $menu[$menu_key][0] .= " <span class='update-plugins count-$pending_count'><span class='plugin-count'>"
        . number_format_i18n($pending_count)
        . '</span></span>';
    }
  }
  return $menu;
}
htmlcss.fr Des tutos ou tutoriels Wordpress, html, php ou javascript.

François Riant

Je m’appelle François Riant. Je travail dans les métiers du web depuis 2006. Mon expérience m’a amené à changer plusieurs fois de technologie.

Aujourd’hui je cherche à partager mon expérience et j’y trouve du de plaisir. Je travail actuellement chez W2P Digital.
Je ne prends donc pas de mission en freelance.

Si vous avez une remarque ou une question; vous pouvez me joindre sur francois.riant@gmail.com