タクソノミーの条件分岐で親と子と孫で分岐をしたいのですが、上手くなりません。
わかられる方ご教授をお願い致します。
php
1<?php 2$taxonomy = $wp_query->get_queried_object(); 3//echo $taxonomy->parent; 4?> 5<?php if($taxonomy->parent == 0): ?> 6親タームの表示 7<?php elseif($taxonomy->parent == $child -> parent): ?> 8子のタームしかない場合子のタームを表示 9 10孫のタームがあった場合孫タームを優先で出力したい。 11 12 13<?php endif; ?>
下記の項目で子及び孫が表示できます。
php
1<?php if(have_posts()): ?> 2<?php while(have_posts()) : the_post(); usces_the_item(); usces_have_skus(); ?> 3 <li> 4中身 5 </li> 6<?php endwhile; ?> 7<?php else : ?> 8<li></li> 9<?php endif; 10wp_reset_postdata(); //クエリのリセット ?>
下記の項目で孫のタームは取得取得できます。
php
1<?php 2// タクソノミ取得 3$term_id = get_queried_object_id(); // 4$catargs = array( 5 'taxonomy' => 'brand', 6 'parent' => $term_id, 7); 8?> 9<div> 10<?php 11$catlists = get_categories( $catargs ); 12foreach($catlists as $cat) : // 取得したカテゴリの配列でループを回す 13?> 14<div> 15 <h3><?php echo $cat->name; ?></h3> 16 <ul> 17 <?php 18 $args = array( 19 'post_type' => 'post', 20 'brand' => $cat->slug, 21 'posts_per_page' => -1, 22 ); 23 $my_posts = get_posts( $args ); 24 if ( $my_posts ) { // 該当する投稿があったら 25 foreach ( $my_posts as $post ) : 26 setup_postdata( $post ); 27 ?> 28 <li> 29中身 30 </li> 31 <?php 32 endforeach; 33 } else { 34 echo ''; 35 } 36 wp_reset_postdata(); 37 ?> 38 </ul> 39</div> 40<?php endforeach; ?> 41</div> 42
回答1件
あなたの回答
tips
プレビュー