ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

  • 13771
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

WordPress のダッシュボードの「概要」欄には通常投稿や固定ページの投稿数の他、コメント数が表示されていますが、デフォルトではカスタム投稿タイプの投稿記事数が表示されていません。

過去に WordPressの管理画面ダッシュボードに「カスタム投稿タイプ毎の投稿件数」を表示する方法の記事でダッシュボードにカスタム投稿タイプの投稿数を表示するカスタマイズを紹介させていただきましたが、WordPress 3.8からこのカスタマイズでは表示されなくなりましたので、新たにバージョン3.8 用の方法をまとめ直しました。

ダッシュボードの「概要」欄

例えば、ブログ内に「事例」というカスタム投稿タイプを設けていても、ダッシュボードの「概要」欄にはカスタム投稿タイプの投稿数は表示されません。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

functions.php の編集

そこで、http://elearn.jp/wpman/column/c20131217_01.html 様の記事を参考にfunctions.php をカスタマイズして、ダッシュボードの「概要」にカスタム投稿タイプの投稿記事数を表示させてみます。
add_filter( 'dashboard_glance_items', 'mytheme_dashboard_glance_items' );
function mytheme_dashboard_glance_items( $elements ) {
	foreach ( array(
    'work'
    ) as $post_type ) {
		$num_posts = wp_count_posts( $post_type );
		if ( $num_posts && $num_posts->publish ) {
			$text = number_format_i18n( $num_posts->publish ).'件の投稿';
			$elements[] = sprintf( '<a href="edit.php?post_type=%1$s" class="%1$s-count">%2$s</a>', $post_type, $text );
		}
	}
	return $elements;
}
※ ‘work’ は、お使いのカスタム投稿タイプのポストタイプを指定してください。

こんな感じでダッシュボードにカスタム投稿タイプの投稿数が表示されます。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

カスタム投稿タイプの「ラベル」も追加表示

このままだと件数だけが表示されて素っ気ないので、カスタム投稿タイプの「ラベル(表示名)」を付け加えてみます。
add_filter( 'dashboard_glance_items', 'mytheme_dashboard_glance_items' );
function mytheme_dashboard_glance_items( $elements ) {
	foreach ( array(
    'work'
	) as $post_type ) {
		$num_posts = wp_count_posts( $post_type );
		if ( $num_posts && $num_posts->publish ) {
			$post_type_object = get_post_type_object($post_type);
			$post_type_label = $post_type_object->label;
			$text = number_format_i18n( $num_posts->publish ).'件の '.$post_type_label.'の投稿';
			$elements[] = sprintf( '<a href="edit.php?post_type=%1$s" class="%1$s-count">%2$s</a>', $post_type, $text );
		}
	}
	return $elements;
}
先のfunctions.php のコードの8 行目以降を追加修正しています。

こんな感じで「事例」のラベルが表示され、分かりやすくなりました。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

Dashicons の変更

ここまでの修正でダッシュボードの「概要」欄にカスタム投稿タイプの投稿数を表示させることができましたが、せっかくなのでアイコン(Dashicons)も変更してしまいましょう。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

Dashicons へアクセス

ちなみにこのアイコンは、以下の「Dashicons」ページで一覧で見ることができます。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)


好きなアイコンを選んでCSS のコードが発行できるなど、カスタマイズする上で非常に便利ですね。

管理画面左メニューと同じように「ピン」マークに変更する場合は、Dashicons のサイトで該当するマークを選択してから「Copy CSS」のリンクをクリックすると
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

CSS のコードが出力されます。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

functions.php の編集

先のCSS の記述を反映させるために、functions.php を再度編集してみます。
add_action( 'admin_print_styles', 'mytheme_dashboard_print_styles' );
function mytheme_dashboard_print_styles() {
?>
<style>
#dashboard_right_now li a.work-count:before { content: "\f109";}
</style>
<?php
}
※5行目の .work-count のクラス名は、カスタム投稿タイプによって異なります。

多分「投稿タイプ名 + count」がクラス名だと思いますが、念のため管理画面ダッシュボードのソースコードを確認してみてください。

と言うことで、こんな感じに出来上がりました。
ダッシュボードの概要にカスタム投稿タイプの投稿数を表示する方法(WordPress 3.8版)

WordPress 3.7から 3.8 への移行が進む中、この辺りのカスタマイズも同時に行っていく必要がありそうですね。

  • 13771
    views
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

この投稿と関連する記事一覧

この記事に関するコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください