回答編集履歴
2
$termsが3件以下の場合のforeach文の中身を修正しました。
answer
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
echo '<li class="categoryItem categoryItem--00"><span class="ccategoryItem--text">他</span></li>';
|
13
13
|
else:
|
14
14
|
foreach ( $terms as $term ):
|
15
|
-
echo '<li class="categoryItem categoryItem--' . esc_html($
|
15
|
+
echo '<li class="categoryItem categoryItem--' . esc_html($terms[$cnt]->slug) .'"><span class="categoryItem--text">'. esc_html($terms[$cnt]->name) . '</span></li>';
|
16
16
|
endforeach;
|
17
17
|
endif;
|
18
18
|
```
|
1
回答コードの不具合を修正
answer
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
count()を使って個数を取得して条件分岐すればいいのでは。
|
2
2
|
|
3
|
+
以下、先ほどの回答からちょっと修正します。
|
4
|
+
(手元に検証に使えるWordpressの環境がないので検証していません)
|
5
|
+
|
3
6
|
```PHP
|
4
7
|
$terms = get_the_terms( $post->ID, 'person' , array('orderby' => 'ID', 'order' => 'ASC') ) ;
|
5
|
-
|
6
|
-
if(count($terms)>
|
8
|
+
if(count($terms)>=4):
|
7
|
-
for($cnt=
|
9
|
+
for($cnt=0,$cnt<3,++$cnt):
|
8
|
-
foreach ( $terms as $term ):
|
9
|
-
|
10
|
+
echo '<li class="categoryItem categoryItem--' . esc_html($terms[$cnt]->slug) .'"><span class="categoryItem--text">'. esc_html($terms[$cnt]->name) . '</span></li>';
|
10
|
-
endforeach;
|
11
11
|
endfor;
|
12
|
-
|
12
|
+
echo '<li class="categoryItem categoryItem--00"><span class="ccategoryItem--text">他</span></li>';
|
13
13
|
else:
|
14
14
|
foreach ( $terms as $term ):
|
15
15
|
echo '<li class="categoryItem categoryItem--' . esc_html($term->slug) .'"><span class="categoryItem--text">'. esc_html($term->name) . '</span></li>';
|