現状
Wordpressで制作中のサイトにおいて、
親カテゴリー及び子カテゴリーに基づいたサイドバーのグローバルナビゲーションを作成したく、
phpで、記述しているものの、親カテゴリー及び子カテゴリーのリストは作成できたものの
子カテゴリーの中に子カテゴリーの投稿一覧を表示(リンクあり)しようとしましたが、
投稿一覧が、それぞれのカテゴリー毎に一覧がでるのではなく、
全ての子カテゴリーに、すべての投稿記事が表示されるという形になってしまっています。
子カテゴリー内でのループ処理の際に、配列を作って処理していますが、
その配列が正しく子カテゴリーの情報になっていないことが原因と考えていますが、
うまくいかないため、ご助言をいただきたく投稿いたしました。
実現したいこと
子カテゴリー内に、子カテゴリー内の投稿記事一覧のリストを表示する。
php
1<nav class="l-sidebar" id="gnav"> 2 <ul class="l-sidebar-list1"> 3 4 <?php 5 $categories = get_categories('parent=0'); 6 foreach ($categories as $category){?> 7 8 <div class="l-sidebar-list1__headline"><?php echo $category->name; ?><span><?php echo $category->slug; ?></span></div> 9 <li class="l-sidebar-list1__item"> 10 11 <?php 12 $childs = get_categories('child_of='.$category->term_id); 13 if($childs){ 14 ?> 15 16 <ul class="l-sidebar-list2 --blue"> 17 18 <?php foreach($childs as $child){?> 19 <li class="l-sidebar-list2__item js-list--slidetoggle"><a href="#"><?php echo $child->name;?></a> 20 21 <?php 22 $args =array( 23 'child' =>$child->term_id, 24 'post_per_page' =>100, 25 ); 26 $the_query = new WP_Query($args); 27 28 if($the_query->have_posts()): 29 ?> 30 31 <ul class="l-sidebar-list3 is-list--slidetoggle"> 32 33 <?php 34 while($the_query->have_posts()):$the_query->the_post(); 35 ?> 36 37 <li class="l-sidebar-list3__item"><a href="<?php echo get_permalink($post->ID);?>"><?php echo $post->post_title;?></a></li> 38 <?php endwhile ?> 39 </ul> 40 <?php wp_reset_postdata();?> 41 <?php else:?> 42 <p>投稿はありません</p> 43 <?php endif ?> 44 </li> 45 46 <?php } ?> 47 </ul> 48 <?php } ?> 49 </li> 50 51 <?php } ?> 52 </ul> 53</nav>
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。