固定ページにカスタム投稿のターム一覧をサイドバーに表示させています。
やりたい事
親タームに子タームがある場合とない場合の条件分岐をして出力する内容(クラス名など)を変えたいです。
試した事
親タームがループする箇所にget_term_childrenを追加してif文で条件を追加しました。
結果は全てがtrueになってしまい、うまくいきませんでした。
これは書き方が間違っているのでしょうか?
まだ不足しているコードがあるのですかね??
コードはサイドバーの全体のコードと、該当のコードを抜粋したものを貼ります。
ご教授お願いします。
不足している情報などありましたらご連絡おねがいします。
サイドバーの全体
php
1<div class="co_archive_sidebar client_floating"> 2 <div> 3 <h3>カテゴリー</h3> 4 <?php 5 $my_tax = 'client_type'; //取得したいタクソノミー名 6 $parent_terms = get_terms( $my_tax, array('hide_empty' => true, 'parent' => 0) ); //第一階層のタームだけ取得 7 if ( !empty( $parent_terms ) ) : 8 echo '<ul>'; 9 10 //第1ループ 11 foreach ( $parent_terms as $pt ) : 12 $pt_id = $pt->term_id; 13 $pt_name = $pt->name; 14 $pt_slug = $pt->slug; 15 $pt_url = get_term_link($pt); 16 ?> 17 <li 18 <?php 19 $check = get_term_children($pt_id, $pt_name); 20 if(!empty($check)){ 21 echo 'class="parent child_cate'. $pt_slug . '">'; 22 echo '<a '.'href="'. 'javascript:void(0);'.'"'; 23 }else{ 24 echo '<a '.'class="parent child_cate'. $pt_slug . '">'.'<a '; 25 echo 'href="#'.$pt_slug.'"'; 26 } 27 ?> 28 ><?php echo $pt_name; ?></a> 29 <?php 30 $child_terms = get_terms( $my_tax, array('hide_empty' => true, 'parent' => $pt_id) ); 31 if ( !empty( $child_terms ) ) : 32 echo '<ul class="child">'; 33 34 //第2ループ 35 foreach ( $child_terms as $ct ) : 36 $ct_id = $ct->term_id; 37 $ct_name = $ct->name; 38 $ct_slug = $ct->slug; 39 $ct_url = get_term_link($ct); 40 ?> 41 <li> 42 <a href="#<?php echo $ct_slug; ?>"><?php echo $ct_name; ?></a> 43 </li> 44 <?php 45 endforeach; //End : 第2ループ 46 echo '</ul>'; 47 endif; 48 ?> 49 </li> 50 <?php 51 endforeach; //End : 第1ループ 52 echo '</ul>'; 53 endif; 54 ?> 55 </div> 56 </div>
抜粋したコード
php
1<li 2 <?php 3 $check = get_term_children($pt_id, $pt_name); 4 if(!empty($check)){ 5 echo 'class="parent child_cate'. $pt_slug . '">'; 6 echo '<a '.'href="'. 'javascript:void(0);'.'"'; 7 }else{ 8 echo '<a '.'class="parent child_cate'. $pt_slug . '">'.'<a '; 9 echo 'href="#'.$pt_slug.'"'; 10 } 11 ?> 12 >
以上になります。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/09 08:52