WordPress : indicateur d’articles en attentes

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

Articles similaires

Commencez à saisir votre recherche ci-dessus et pressez Entrée pour rechercher. ESC pour annuler.

Retour en haut