お聞きしたいこと
get_the_terms()
でカスタムタクソノミーで定義したカテゴリリストを表示しているのですが、
これを個数によって出力内容を変えたいです。
personというカテゴリを作成し、01〜07までカテゴリを作りました。
現在は、選択したものが
「person01,person02,person03,person04,person05,person06,person07」
と全件表示される状況です。
このpersonの選択個数が3個以上の場合、4件目以降は「他」として出力したいです。
「person01,person02,person03,他」
→「04〜07」は表示しないようにしたい。
現在書いているコード
php
1$terms = get_the_terms( $post->ID, 'person' , array('orderby' => 'ID', 'order' => 'ASC') ) ; 2 foreach ( $terms as $term ) { 3 echo '<li class="categoryItem categoryItem--' . esc_html($term->slug) .'"><span class="categoryItem--text">'. esc_html($term->name) . '</span></li>'; 4 }
現在の出力内容
html
1<li class="categoryItem categoryItem--01"><span class="ccategoryItem--text">人物01</span></li> 2<li class="categoryItem categoryItem--02"><span class="ccategoryItem--text">人物02</span></li> 3<li class="categoryItem categoryItem--03"><span class="ccategoryItem--text">人物03</span></li> 4<li class="categoryItem categoryItem--04"><span class="ccategoryItem--text">人物04</span></li> 5<li class="categoryItem categoryItem--05"><span class="ccategoryItem--text">人物05</span></li> 6<li class="categoryItem categoryItem--06"><span class="ccategoryItem--text">人物06</span></li> 7<li class="categoryItem categoryItem--07"><span class="ccategoryItem--text">人物07</span></li>
希望の出力内容
html
1<li class="categoryItem categoryItem--01"><span class="ccategoryItem--text">人物01</span></li> 2<li class="categoryItem categoryItem--02"><span class="ccategoryItem--text">人物02</span></li> 3<li class="categoryItem categoryItem--03"><span class="ccategoryItem--text">人物03</span></li> 4<li class="categoryItem categoryItem--00"><span class="ccategoryItem--text">他</span></li> 5 6※他の<li>のclass名はなんでも大丈夫です。
条件分岐などの書き方がいまいちわからないので、お聞きさせていただきました。
お知恵をお借りできますと幸いです。
どうぞよろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/18 05:53
退会済みユーザー
2019/08/18 06:31
2019/08/18 07:33