タクソノミー
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 | <?php //タクソノミーで親のタームIDで分岐 //カテゴリー・タグ情報を取得(slug,アーカイブページでターム名取得,タクソノミー名取得) $term = get_term_by( 'slug' ,get_query_var( 'term' ),get_query_var( 'taxonomy' ) ); ?> <?php //$termにはいってる情報で分岐 if ( $term ->parent ) { // 親IDが入ってれば (子だったら) ?> <!---TOP部分--> <?php //親のIDを取得してターム情報を引き出す。 $ido = $term ->parent; }?> <?php //タームで分岐デザインフォーマット if ( $ido == 2): if (is_object_in_term( $post ->ID, 'hp_cate' , 'フォーマットデザイン' )): ?> <div class = "original original2 " >フォーマット</div> <?php else : ?> <div class = "original" >オリジナルデザイン</div> <?php endif ; ?> <?php endif ; ?> |
シングル等ループ内
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 | <?php //ループでホームページカテゴリか分岐 //これは親を選択せずに小カテゴリのみ選択していった場合にも有効な親のIDで分岐する方法 但し、複数の親の子は未対応 //ループ内でタームの親で分岐準備 逆さになる場合があるから下記分岐 $term = array_pop (get_the_terms( $post ->ID, 'cate_jirei' )); //array_popで配列の最後を取り出す $term_p = $term ->parent; //子か確かめる準備 if ( $term_p == 0 ) //取り出したのが親の場合 { $term = array_shift (get_the_terms( $post ->ID, 'cate_jirei' )); //array_shiftで先頭にある配列を取り出す } $term_p = $term ->parent; //親のID取得 if ( $term_p == 2): ?> <?php //タームで分岐デザインフォーマット if (is_object_in_term( $post ->ID, 'hp_cate' , 'フォーマットデザイン' )): ?> <div class = "original original2 d_original" >フォーマット</div> <?php else : ?> <div class = "original d_original" >オリジナルデザイン</div> <?php endif ; ?> <?php endif ; //ホームページ分岐終わり?> |
上記ベースコード
http://liginc.co.jp/designer/archives/4348