Mill's Note

【Wordpress関数】get_ancestors()

/

固定ページ、カテゴリー、タクソノミーの親(先祖)のIDを配列で取得するWordpressテンプレートタグ。
配列でIDを取得するだけなので、好きに設定できます。

get_ancestors() 呼び出しコード

.呼び出しコード説明
1<?php get_ancestors(ID,'category'); ?>カテゴリー、固定ページの場合
2<?php get_ancestors(ID,'taxonomy', 'post_type'); ?>カスタムタクソノミーの場合

パラメータ

.パラメータ初期値ID$object_type$resource_type
1ID, $object_type0,''自身のID(必須)category' 又は 'page'不要
2ID, $object_type, $resource_type0,'',''自身のID(必須)タクソノミーカスタム投稿名

get_ancestors() の使用例

カテゴリをリンク付きのリストタイプで出力する

すっきりさっぱりIDだけ。なので、foreach で回して自由に設定できます。

get_queried_object_id() でページIDを取得。後はカテゴリページの分岐を入れればそのまま使えます^^

PHP
<ul>
  <?php 
    $id = get_queried_object_id(); /* 自身のID取得 */
    $lists = get_ancestors($id, 'category');
    foreach ($lists as $list) {
  ?>
  <li>
    <a href="<?php echo get_category_link($list) ?>"><?php echo get_cat_name($list); ?></a>
  </li>
  <?php } ?>

  <li><?php echo get_cat_name($id); ?></li> /* 自身のタイトル */
</ul>

/* 出力結果---------------------- */
<ul>
  <li><a href="祖先カテゴリーURL">祖先カテゴリー名</a></li>
  <li><a href="親カテゴリーURL">親カテゴリー名</a></li>
  <li>現在のカテゴリー名</li>
</ul>