サポート » プラグイン » Repeater Field(ACF)を使用したフィールドに入力された数を数えたい

  • Advanced Custom FieldsとRepeater Fieldを使用して、3枚まで画像を添付できるようなシステムを作りました。
    画像が3枚添付されたら、sampleclassというclass名をulに追加したいため、以下のようなコードを書いたのですが、うまくいきません。

    if(count($row_count) == 1 ) にすると動作するので、
    cf_recruit_shokushu_imgの値の数を取得してしまっているんだなと、最初のところですでにつまずいているんだなと思っているのですが、アイディアがまったく出てこずにいます。同じようなことをしたい場合はliタグを数える方がいいのでしょうか。
    どなたかご教授お願いいたします。

    <?php if(have_rows('cf_xxx_imgs')): ?>
    	<?php
    		$thumbs = get_sub_field('cf_img');
    		$row_count = count($thumbs);
    		if(count($row_count) == 3 ) {
    			echo '<ul class="cf sampleclass">';
    		} else {
    			echo '<ul class="cf">';
    		}
    	?>
    	<?php while( have_rows('cf_xxx_imgs')): the_row();  ?>
    		<li>
    			<?
    				$image = get_sub_field('cf_img');
    				$imgurl = wp_get_attachment_image_src($image, 'medium');
    				if($imgurl) {
    					echo '<img src="'. $imgurl[0] .'" alt="">';
    				}
    			?>
    		</li>
    	<?php endwhile; ?>
    	</ul>
    <?php endif; ?>
1件の返信を表示中 - 1 - 1件目 (全1件中)
  • 現在のコードだと、サブフィールドの中の要素数を数えてしまっているので、
    ループ内の要素数をカウントするのであれば、

    $images = get_field('cf_xxx_imgs');
    $img_count = count($images);

    等のコードになるかと思います。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「Repeater Field(ACF)を使用したフィールドに入力された数を数えたい」には新たに返信することはできません。