先日、WordBenshに参加した時、「ダッシュボードにカスタム投稿の投稿数が表示されると便利だよね」というLTがあって、「確かに!」と思ったので、ポストしておきます。 WordBenchでは、投稿タイプ名を配列で持っていたけど、WordPressなら自動で取得したいなーと思ったので、調べたらありました。
http://wordpress.org/support/topic/dashboard-at-a-glance-custom-post-types Dashboard – At a Glance – Custom Post Types
アイコンをピン(画鋲?)のアイコンに変えるため、スタイルシートも追加しています。 ダッシュボードに、全部のカスタムポストを表示していいんだーっていうときは、便利かも。
/*------------------------------------------------ custom post types counts to dashboard --------------------------------------------------*/ add_action('dashboard_glance_items', 'yy_add_cpt_to_dashboard'); function yy_add_cpt_to_dashboard(){ $post_types = get_post_types( array( '_builtin' => false ), 'objects' ); foreach($post_types as $post_type){ if($post_type->show_in_menu == false) continue; $num_posts = wp_count_posts( $post_type->name ); $num = number_format_i18n( $num_posts->publish ); $text = _n( $post_type->labels->singular_name, $post_type->labels->name, $num_posts->publish ); if(current_user_can( 'edit_posts' )){ $output = '<a href="edit.php?post_type=' . $post_type->name . '">' . $num . ' ' . $text . '</a>'; } echo '<li class="page-count ' . $post_type->name . '-count">' . $output . '</td>'; } } /*------------------------------------------------ custom post types icon to dashboard --------------------------------------------------*/ add_action('admin_head', 'yy_helf_cpts_css'); function yy_helf_cpts_css() { echo "<style type='text/css'>"; $post_types = get_post_types( array( '_builtin' => false ), 'objects' ); foreach($post_types as $post_type){ echo "body #dashboard_right_now ." . $post_type->name . "-count a:before { content: '\\f109'; margin-left: -1px; } "; } echo "</style>"; }
〒180-0013 東京都武蔵野市西久保3-11-1-104