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