ファンクション
//パンくずに仕様 get_category_parentsでは商品がでてしまうのでコレを作る
function my_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) {
$chain = '';
$parent = &get_category( $id );
if ( is_wp_error( $parent ) )
return $parent;
if ( $nicename )
$name = $parent->slug;
else
$name = $parent->name;
if ( $parent->parent && ( $parent->parent != $parent->term_id ) && !in_array( $parent->parent, $visited ) ) {
$visited[] = $parent->parent;
$chain .= my_category_parents( $parent->parent, $link, $separator, $nicename, $visited );
}
//除外したいカテゴリIDを入れる
if ( ! in_array( $parent->term_id, array( 287 ) ) ) {
if ( $link )
$chain .= '<a href="' . get_category_link( $parent->term_id ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator;
else
$chain .= $name.$separator;
}
return $chain;
}
シングル
<div id="top_navi">
<?php
//記事中のすべてのカテゴリを取得
$categories = get_the_category();
//カテゴリがある場合の実行
if ( $categories ) {
//カテゴリの数だけ繰り返す
foreach( $categories as $category ) {
//カテゴリを親まで辿って表示
//商品を表示させないためファンクションで作成したget_category_parentsの変形
echo my_category_parents($category->cat_ID,true," > ").get_the_title()."<br>";
}
}
?>
</div>
楽天のような複数のパンクズに
さらに商品というリンクを消す