2026年7月追記。
この記事は、カテゴリーページを単なる記事一覧ではなく、サイト内を回遊してもらう入口として整えた時の記録です。
古いコード例には現在あまり使わない関数も含まれていたため、子カテゴリー表示の例だけ現在の書き方に寄せて直しました。
カテゴリーテンプレートの基本は、公式の Template Hierarchy と wp_list_categories() を確認するのが確実です。
検索フォーム側のカテゴリ指定は、wp_dropdown_categoriesの記事にもまとめています。
WordPressでブログを運用している方は色々とカスタマイズをしているのではないかと思います。
そんなカスタマイズの一環として、今回はWordPressで構築しているブログのカテゴリーページのカスタマイズについて綴ろうと思います。
当ブログにすでに実装済みなのですが、カテゴリーページに表示されているカテゴリーの子カテゴリー一覧を表示する方法と、表示されているカテゴリーの人気記事一覧を表示する方法をまとめます。
カテゴリーページをカスタマイズする理由
記事ページがブログでは心臓部になりますが、その周りを固めるカテゴリーページも重要なコンテンツ。
カテゴリーページを使いやすくすることで、サイト内回遊率の向上が見込め、ひいてはアクセスアップにつながります。
特に、当ブログのような雑記ブログにはカテゴリーページが大事だと考えています。
特定の情報を求めているユーザさんは、1記事見て興味が出たらカテゴリから調べることが想定されますからね。
カテゴリーページに表示されているカテゴリーの子カテゴリー一覧を表示する方法

まずは、カテゴリーページに、表示しているカテゴリーの子カテゴリー一覧を表示していきます。
当ブログではテーマにXeoryを利用しているのですが、デフォルトではこのような見た目です。
カテゴリーのタイトルがh1として表示され、後はそのカテゴリーに紐付いた記事の一覧が表示されます。
通常よく見る、カテゴリーページですね。
ここに、表示されているカテゴリーが子テーマを持っていた場合はその一覧を表示します。
Xeoryではarchive.phpがテンプレートPHPになります。
その他テーマでは、カテゴリーページを出力する際に使っているPHPを編集してください。
まずは、表示されているカテゴリーのカテゴリーIDを取得します。
<?php $category = get_queried_object(); $catID = isset( $category->term_id ) ? (int) $category->term_id : 0; ?>
ここでは、catIDという変数に格納しました。
続いて、子テーマ一覧を表示したい箇所に下記コードを書き込みます。
<?php wp_list_categories( array( 'child_of' => $catID, 'title_li' => '', ) ); ?>


これだけで表示されているカテゴリーを親とした子テーマ一覧が出力されます。
「カテゴリで絞り込む」などの見出しをつけておくとユーザさんには用途がわかりやすいかもしれません。
見た目をCSSで整えれば完了です。
属している子カテゴリーがなかった場合は、「カテゴリーなし」と表示されるはずです。
表示されているカテゴリーの人気記事一覧を表示する方法
次に表示されているカテゴリーの人気記事一覧を表示していきます。
こちらは、プラグインのWordPress Popular Postsをインストールしておくと簡単です。
人気記事一覧を表示したい箇所に、下記コードを入力します。
<?php
if (function_exists('wpp_get_mostpopular')) {
$args = '
limit=5&
range=monthly&
order_by=views&
cat="'.$catID.'"&
stats_views=0&
stats_comments=0';
wpp_get_mostpopular($args);
}
?>

コード内の「$catID」は前述のカテゴリーID取得時に使った変数です。
変数名を変えた場合は、同じくコードを変更してください。
WordPress Popular Postsの設定方法がわからない場合は、公式ページなどから調べてくださいね。
上記設定をすることで、人気記事が表示されます。
まとめ
あまり手が加えられていないことが多いカテゴリーページですが、ユーザ目線で考えると色々と便利にできると思います。
今回紹介した方法以外でも試せることはあると思いますが、カテゴリーページのカスタマイズを考えている方や、サイト内回遊率やアクセス数のアップを考えている方は、今回紹介した方法をぜひ試してみてくださいね。