web-dev-qa-db-ja.com

投稿のカテゴリとサブカテゴリを一覧表示する

特定の投稿の親カテゴリとサブカテゴリを表示する方法はありますか(つまり、single.phpで使用するため)。

get_the_category_list() を使ってみましたが、次のようなリストが表示されます。

  • Subcat1
  • ParentCat1
  • Subcat2
  • Subcat3
  • ParentCat2

たとえあなたが 'single'または 'multiple'の表示引数を試しても、それは私が欲しいものを与えてくれません。

  • ParentCat1
    • Subcat1
    • Subcat2
  • ParentCat2
    • サブキャット3

カテゴリをこのように表示することは可能ですか?他の方法(get_terms()のような)を使っても?

3

更新1:

より良い方法を提案してくれた @ birgire に感謝します。

wp_list_categories( [ 'include' => wp_list_pluck( get_the_category(), 'term_id' ) ] );

single.phpテンプレートでこれを試してください。

$current_cats = get_the_category();
$current_cats_ids = [];

foreach ($current_cats as $cat) {
    $current_cats_ids[] = $cat->term_id;
}

wp_list_categories([
    'include' => $current_cats_ids,
]);
12
MinhTri