関数
タクソノミーの親タームを取得したい場合の関数です。functions.php に記載すれば動きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
//--------------------------------------------------------------------------- // タクソノミーの親取得 //--------------------------------------------------------------------------- function get_taxonomy_parents($id, $taxonomy, $link = true, $separator = ' » ', $nicename = false, $visited = array()) { $chain = ''; $parent = &get_term($id, $taxonomy); if (is_wp_error($parent)) { echo "fail"; 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 .= get_taxonomy_parents($parent -> parent, $taxonomy, $link, $separator, $nicename, $visited); } if ( $link ) { // $chain .= '<a href="' . esc_url( get_category_link( $parent->term_id ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator; $chain .= '<a href="' . esc_url( get_term_link( (int) $parent->term_id, $taxonomy ) ) . '" title="' . esc_attr( sprintf( __( "View all posts in %s" ), $parent->name ) ) . '">'.$name.'</a>' . $separator; } else { $chain .= $name.$separator; } return $chain; } |
使い方
1 |
$parent = get_taxonomy_parents( {タクソノミーID},'', true, "" ); |
実装の仕方が分からない方はお問い合わせください。