WordPressでカテゴリーページに登録されているカテゴリーを一覧で表示する方法を紹介します。具体的には、同階層以下にあるカテゴリを取得して表示する方法です。
1. カテゴリの一覧を表示する基本的な方法
WordPressでは、wp_list_categories()
関数を使って、カテゴリーをリストとして表示することができます。この関数を使用することで、指定した条件に合わせたカテゴリの一覧を簡単に表示できます。
2. wp_list_categories()
の使用例
以下は、カテゴリーページにカテゴリ一覧を表示するためのコード例です。このコードをテーマファイル(例えば category.php
や sidebar.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()
を使用してカスタマイズすることができます。パラメータを調整することで、必要な情報を表示することができ、より柔軟な表示が可能になります。