Written by Kasumi

現在開いてる子カテゴリーページで親カテゴリを親子階層順に全て取得する方法【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です。

以上で実装完了です。

まとめ

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

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

目次

関連記事

WordPress プログラミング

Yoast SEOのschema(スキーマ)設定を無効化する方法

2022.04.03
662
WordPress

アイキャッチ登録を用いて投稿記事にサムネイルを表示させよう!【ワードプレス】

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

【WordPress】is_single()、is_singular()条件分岐について使い方を解説

2022.04.21
504
WordPress プログラミング

【簡単】ワードプレスのRSSフィードを取得して、外部サイトに記事一覧を表示する方法

更新日:2020.05.27
1591