カスタムタクソノミーのターム情報を色々な形で取得、出力して「パンくずリスト」を作ってみましょう。
「get_ancestors」
祖先オブジェクトのIDを配列で返します。
関数リファレンス/get ancestors
//投稿についているタームのidを取得
$terms = wp_get_object_terms( $post->ID, 'my_taxonomy');
$term_id = $terms[0]->term_id;
//以下はターム一覧ページの場合と同じ
$$ancestors = get_ancestors( $term_id, 'my_taxonomy' );
$reversed_ancestors = array_reverse($ancestors);
foreach($reversed_ancestors as $ancestor){
echo get_term($ancestor)->name;
echo get_term($ancestor)->slug;
echo get_term_link($ancestor);
}
「get_the_terms」
投稿に割り当てられたタクソノミーのターム(カスタム分類の項目)を取得する。
関数リファレンス/get the terms
<ul class="pankuzu">
<li><a href="<?php echo esc_url( home_url( '/' ) ); ?>">トップページ</a></li>
<?php
$terms = array_reverse(get_the_terms($post->ID,'タクソノミー名'));
foreach( $terms as $term ) {
echo '<li><a href="/document/タクソノミー名/'.$term->slug.'">'.$term->name.'</a><li>' ;
}
?>
</ul>
「walk_category_tree」
タームの親子関係を保持した上で表示する。
引用:http://pimpmysite.net/archives/696
<ul class="breadcrumb">
<li><a href="<?php echo esc_url( home_url( '/' ) ); ?>">トップページ</a></li>
<?php
$terms = get_the_terms($post->ID,'タクソノミー名');
if ( $terms && ! is_wp_error( $terms ) ) {
echo walk_category_tree( $terms, 0 , array(
'use_desc_for_title' => false,
'style' => 'list',
));
}
?>
</ul>