カスタムメニューで作成したカテゴリーリストに投稿数を表示させる方法

カスタムメニューで作成したカテゴリーリストに投稿数を表示させる方法

カスタムメニューで作成したカテゴリーリストに投稿数を表示させる方法

サイドバーなどにカテゴリーの一覧を表示させたい場合、ウィジェットの「カテゴリー」を使います。カテゴリーウィジェットを使えば、「投稿数を表示」というチェックボックスにチェックを入れれば、そのカテゴリーで投稿されている記事の数をリストに表示してくれます。

投稿数を表示

当ブログだとこんな感じですね。投稿数が括弧内に表示されています。

カテゴリーリスト

カテゴリーウィジェットでは、カテゴリーがすべて表示されるのですが、全部は表示したくないということもあるかと思います。そんな時は、[外観] – [メニュー] でオリジナルのカテゴリーリストを作成してウィジェットで表示させます。

例えば、WordPress 関連のカテゴリーだけを表示させたい場合は、以下のようなメニューを作成します。すべてカテゴリーからメニューに追加しています。

WordPress関連カテゴリー

次に [外観] – [ウィジェット] で「カスタムメニュー」を表示させたい場所にドラッグ&ドロップします。「メニューを選択」では作成したカテゴリーのメニューを選択しましょう。

カスタムメニュー

ここで問題となるのが、投稿数の表示です。カスタムメニューのウィジェットでは、投稿数を表示するための設定がないので、カテゴリーリストを作成したとしても投稿数が表示されません。

カテゴリーリスト

カスタムメニューで作成したカテゴリーリストに投稿数を表示させる方法

さて、ようやく本題ですが、上記のようにカスタムメニューで作成したカテゴリーリストに投稿数を表示させるためには、functions.php に以下のコードを追加します。


add_filter('wp_nav_menu_objects','my_nav_count');
function my_nav_count($items){
foreach ($items as $item){
if($item->object == 'category'){
$item->title .= " (". get_term($item->object_id,'category')->count .")";
$args[] = $item;
}
}
return $args;
}

コピペで使えるので簡単ですね。上記コードを追加すると、以下のように投稿数が表示されるようになります。

カスタムメニューに投稿数を表示

あとがき

コードをコピペするだけなので、オリジナルのカテゴリーリストを作成して表示させた時にぜひ試してみてください。

カテゴリー内の投稿数もわかった方が読者にやさしいですよね。

この記事が気に入ったら
いいね!してね♪

Twitter で

5 thoughts on “カスタムメニューで作成したカテゴリーリストに投稿数を表示させる方法

  1. やどがえ

    超初心者です。
    貴重な情報をありがとうございます。
    上記のコピペするコードは、functions.phpのどこに付記するのでしょうか?ちょっと怖くて躊躇しているので、教えていただければ嬉しいです。

    1. himecas Post author

      やどがえさん、コメントありがとうございます。

      基本的にはどこでもいいのですが、他の関数の中に記述しちゃうとエラーになるので、一番下に1~2行改行してから追加するのがいいと思います。最後の行に ?> があったら、?> よりも前に追加してください。

      もし何か起こったら、焦らずに追加したコードを削除して再アップロードすれば元に戻ります。コードを追加する前にfunctions.phpをコピーしておくとすぐに戻せて楽ですね。

      1. やどがえ

        早速のお返事、ありがとうございます。

        バックアップは必須ですね。

        やってみます。

  2. やどがえ

    チャレンジしました。
    1回目はエラーが出て、ブログ画面も出ず、あわてましたが、バックアップ取ってあったので戻しました。
    その際は、このページのコードをテキストファイルにコピーしたものを、またコピーしました。それがいけなかったのか、直接このページからコピーしたらOKでした。ありがとうございました。

    ついでながら、トップページのカテゴリ(カスタムメニュー)に投稿数は表示されるようになりましたが、記事のページにあるカテゴリリストには投稿数は表示されていません。
    ここにも表示させることは可能ですか?

    1. himecas Post author

      “記事のページにあるカテゴリリスト”は、カスタムメニューで作成したものですか?カスタムメニューで作成したリストであれば、すべてのページで投稿数は表示されると思います。

      記事ページにあるリストが、カスタムメニューではなく”カテゴリー”をウィジェットで表示しているだけなら、「投稿数を表示」にチェックを入れれば投稿数が表示されるようになります。

      コメント時に入力していただいた URL を確認してみましたが、デフォルトで用意されているカテゴリーリストなのかカスタムメニューで作成したものなのか、判断ができませんでした。。。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です