WordPressのカテゴリーページにカテゴリーを表示する手順とコード例

WordPressのカテゴリーページにカテゴリーを表示する手順とコード例

WordPressでカテゴリーページに登録されているカテゴリーを一覧で表示する方法を紹介します。具体的には、同階層以下にあるカテゴリを取得して表示する方法です。

1. カテゴリの一覧を表示する基本的な方法

WordPressでは、wp_list_categories() 関数を使って、カテゴリーをリストとして表示することができます。この関数を使用することで、指定した条件に合わせたカテゴリの一覧を簡単に表示できます。

2. wp_list_categories() の使用例

以下は、カテゴリーページにカテゴリ一覧を表示するためのコード例です。このコードをテーマファイル(例えば category.phpsidebar.php)に追加することができます。

<?php
$args = array(
'orderby' => 'name', // カテゴリ名で並べ替え
'order' => 'ASC', // 昇順で表示
'show_count' => 1, // 各カテゴリーの投稿数を表示
'title_li' => '', // 「カテゴリー」というタイトルを非表示にする
'depth' => 1, // 階層を1レベルまで表示(同階層のみ)
);

echo '<ul>';
wp_list_categories($args); // カテゴリ一覧を表示
echo '</ul>';
?>

3. wp_list_categories() のパラメータ解説

  • orderby: 並べ替え基準(name:名前、count:投稿数、term_group:グループ別)
  • order: 並べ替え順(ASC:昇順、DESC:降順)
  • show_count: 投稿数を表示するかどうか(1:表示、0:非表示)
  • title_li: カテゴリリストの前に表示するタイトル。空にするとタイトルは表示されません。
  • depth: 表示する階層の深さ。1に設定すると同階層(サブカテゴリーは表示しない)だけを表示します。

4. 階層を変更する方法

同階層だけではなく、サブカテゴリーも表示したい場合は、depthの値を変更します。

  • depthを指定しない場合: 全ての階層(親カテゴリもサブカテゴリも)を表示。
  • depthを設定する場合: 例えば、depth => 2 と設定すると、親カテゴリとその1階層下まで表示されます。

5. 条件付きで表示する方法

カテゴリーページに特化した条件で表示をカスタマイズしたい場合、条件分岐を使って、現在表示されているカテゴリーに基づいてカテゴリ一覧を表示することができます。

<?php
if (is_category()) {
$current_category = get_queried_object();
$args = array(
'parent' => $current_category->term_id, // 現在のカテゴリーの親カテゴリーを取得
'orderby' => 'name',
'order' => 'ASC',
'show_count' => 1,
'depth' => 1,
);

echo '<ul>';
wp_list_categories($args); // 現在のカテゴリーのサブカテゴリー一覧を表示
echo '</ul>';
}
?>

このコードでは、現在表示されているカテゴリーページに関連するサブカテゴリーを表示します。

まとめ

WordPressで同階層のカテゴリーを一覧表示したい場合、wp_list_categories() を使用してカスタマイズすることができます。パラメータを調整することで、必要な情報を表示することができ、より柔軟な表示が可能になります。