WordPressのダッシュボードにカスタム投稿の記事数を表示する方法

Posted: 2014年2月18日-Likes: 0-Comments: 0-Categories: WordPressサイト
You are here: ...
Home / ブログ / ブログ / WordPressサイト / WordPressのダッシュボードにカスタム投稿の記事数を表示する方法

先日、WordBenshに参加した時、「ダッシュボードにカスタム投稿の投稿数が表示されると便利だよね」というLTがあって、「確かに!」と思ったので、ポストしておきます。
WordBenchでは、投稿タイプ名を配列で持っていたけど、WordPressなら自動で取得したいなーと思ったので、調べたらありました。

参考記事

http://wordpress.org/support/topic/dashboard-at-a-glance-custom-post-types
Dashboard – At a Glance – Custom Post Types

ダッシュボードにカスタム投稿の投稿数を表示したサンプル

ダッシュボードにカスタム投稿数を表示する

ダッシュボードにカスタム投稿の投稿数を表示したfunction.phpのコード

アイコンをピン(画鋲?)のアイコンに変えるため、スタイルシートも追加しています。
ダッシュボードに、全部のカスタムポストを表示していいんだーっていうときは、便利かも。

/*------------------------------------------------
	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>";
}

Prev / Next Post