現在開いてる子カテゴリーページで親カテゴリを親子階層順に全て取得する方法【WordPress】

現在開いてる子カテゴリページで親カテゴリを親子階層順に全て取得したい。

本記事ではこのような悩みを解決、実装方法について解説します。

親カテゴリを取得するコード

<?php
//現在開いてるカテゴリページのカテゴリIDを取得
global $cat;
//現在開いてるカテゴリページの親カテゴリIDを親子順に全て取得
$cat_parent_ids = array_reverse(get_ancestors($cat, 'category'));
//現在開いてるカテゴリページの親カテゴリを全て出力
foreach ($cat_parent_ids as $cat_parent_id) :
  $cat_parent = get_category($cat_parent_id, 'category');
?>
<!-- カテゴリ名 -->
<p><?= $cat_parent->name; ?></p>
<!-- リンク先 -->
<a href="<?= get_category_link($cat_parent_id); ?>"><?= $cat_parent->name; ?></a>
<?php endforeach; ?>

親カテゴリを全て取得するコード例です。

global $cat;で現在開いてるカテゴリページのIDを取得。

get_ancestors関数を使い、引数に現在開いてるカテゴリページのIDを入れることで、親子階層順に親カテゴリーIDを全て取得できます。

子から親ではなく、親から子で順番に取得したい場合はarray_reverse関数でget_ancestors関数を囲います。

あとはget_the_category関数を使って、取得した親カテゴリIDを引数に設定。

foreachで親カテゴリの数だけループ。

ループ内で親カテゴリ情報を出力すればOKです。

以上で実装完了です。

まとめ

親カテゴリページへの導線設置などにお役立てください。

以上で解説を終わります。

Ads

関連記事

WordPress

WordPressでカテゴリ一覧を表示する方法【結論:get_categories関数を使おう】

更新日:2022.05.28
91
WordPress プログラミング

【簡単】wordpressプラグインで投稿記事を非公開予約する方法

2022.01.05
248
WordPress

CodePenをwordpressの投稿記事に貼り付けよう!【簡単便利】

更新日:2019.11.28
55
WordPress プログラミング

【簡単】contact form 7でお問い合わせ内容をkintoneに反映・連携させる方法【wordpress】

2022.03.09
144