ACFのリピートフィールドの画像1枚目だけを取得して表示する方法(archiveなど)

ACFのリピートフィールドの画像1枚目だけを取得して表示する方法(archiveなど)

advanced customfieldのrepeat fieldで複数の画像を登録させているときに、
アーカイブ(一覧ページ)に表示させるときに、何枚も表示させるとおかしいので、

リピートフィールドの画像の1枚目だけを取得して、表示させる方法です。

<?php //リピートフィールドに入っている1枚目の画像だけを表示させる記述
$rows = get_field('mainphoto' ); // すべてのrow(内容・行)をいったん取得する
$first_row = $rows[0]; // 1行目だけを$first_rowに格納しますよ~
$first_row_image = $first_row['mainphotoin' ]; // get the sub field value 
$image = wp_get_attachment_image_src( $first_row_image, 'full' );
?>
<img src="<?php echo $image[0]; ?>" />

※mainphotoの部分を自分で作ったカスタムフィールド名に変更してください。
※mainphotoinの部分を、リピートフィールド内のカスタムフィールド名にしてください。

参考ページ:https://lib.ridesign.jp/lib_wp/acf-repeater/

追記:リピートフィールドに入っている2枚目以降の画像を表示させる記述

<!-- リピートフィールドに入っている2枚目以降の画像を表示させる記述 -->

<ul>
<?php if( have_rows( 'sekoumaephoto' ) ): ?> 
<?php while( have_rows( 'sekoumaephoto' ) ): the_row(); $counter++; ?>
<?php $img = get_sub_field( 'sekoumaephotoin' ); ?>
 
<?php if ($counter >= 2) : ?> 
<li>
<figure>
<a href="<?php echo wp_get_attachment_url( get_sub_field( 'sekoumaephotoin',$post->ID) ); ?>">
<?php
$thumbnail_id = get_post_thumbnail_id($post->ID); //アタッチメントIDの取得
$image = wp_get_attachment_image_src( get_sub_field('sekoumaephotoin'), 'full' ); 
echo '<img src="'.$image[0].'" width="'.$image[1].'" height="'.$image[2].'" />';
?>
</a>
</figure>
</li>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
</ul>

<!-- リピートフィールドに入っている2枚目以降の画像を表示させる記述 -->

※sekoumaephoto カスタムフィールド名
※sekoumaephotoin リピートフィールド名

※同じページ内に、2か所2番目以降のリピートフィールドを表示させる場合は、
$counterの部分を$counter02などに変更したものを2個目のものに付けてください。
$counterは変数なので同じものだとおかしくなります。

ポチッ☆とクリックお願いします!
↓ ↓ ↓

  • にほんブログ村 IT技術ブログ ホームページ・サイト制作支援へ

コメントは受け付けていません。

サブコンテンツ

TOP