WP:パンくずリスト

カスタムタクソノミーのターム情報を色々な形で取得、出力して「パンくずリスト」を作ってみましょう。

「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>

admin

cl0606

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です