固定ページにカスタム投稿のターム一覧をサイドバーに表示させています。
特定の親タームを指定してリンクに表示させる内容を変更したいと思い、色々試して見たのですが、
うまくできず、お力を借りれたらと思い質問します。
やりたい事
ターム一覧にある特定のタームのみaタグのリンクをjavascript:void(0);にして、
それ以外はタームのスラッグが出るようにしたいです。
ターム名・・・・POP
タームスラッグ・・・・cate05
タクソノミー名・・・・client_type
試した事
特定のタームの有無をチェックができる[term exists]を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 class="parent <?php echo $pt_slug; ?>"> 18 <?php 19 echo '<a '; 20 if ( is_array( term_exists( 'POP', 'client_type' ) ) ){ 21 echo 'href="'. 'javascript:void(0);'.'"'; 22 }else{ 23 echo 'href="#'.$pt_slug.'"'; 24 } 25 ?> 26 ><?php echo $pt_name; ?></a> 27 <?php 28 $child_terms = get_terms( $my_tax, array('hide_empty' => true, 'parent' => $pt_id) ); 29 if ( !empty( $child_terms ) ) : 30 echo '<ul class="child">'; 31 32 //第2ループ 33 foreach ( $child_terms as $ct ) : 34 $ct_id = $ct->term_id; 35 $ct_name = $ct->name; 36 $ct_slug = $ct->slug; 37 $ct_url = get_term_link($ct); 38 ?> 39 <li> 40 <a href="#<?php echo $ct_slug; ?>"><?php echo $ct_name; ?></a> 41 </li> 42 <?php 43 endforeach; //End : 第2ループ 44 echo '</ul>'; 45 endif; 46 ?> 47 </li> 48 <?php 49 endforeach; //End : 第1ループ 50 echo '</ul>'; 51 endif; 52 ?> 53 </div> 54 </div>
php
1//抜粋したコード 2<?php 3 echo '<a '; 4 if ( is_array( term_exists( 'POP', 'client_type' ) ) ){ 5 echo 'href="'. 'javascript:void(0);'.'"'; 6 }else{ 7 echo 'href="#'.$pt_slug.'"'; 8 } 9 ?>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/15 07:28