ACFの有料オプションでもあるギャラリー機能を使ったとき、テンプレート側で呼び出すコードのメモです。
カスタムフィールドの親フィールドにギャラリーを指定した場合。
<?php $mv_imgs = get_field('top_slider');
if($mv_imgs) : ?>
<?php foreach ($mv_imgs as $m_img) : ?>
<div class="swiper-slide"><span class="slide-img"
style="background-image: url(<?php echo $m_img['sizes']['cafe-img']; ?>);"></span></div>
<?php endforeach; endif; ?>
けっこうシンプルに書けます。
get_field(‘ギャラリーフィールド名’); で全画像を読み込んで、それをforeachで回してゆくだけ。
<?php echo $m_img[‘sizes’][‘cafe-img’] ; ?> はfunctions.phpでadd_image_sizeを使って追加しているサイズを呼び出しているだけなので、必要がなければサイズの部分はカットできます。
親フィールド(Group)内で子フィールドとしてギャラリーフィールドを作った場合(サムネルつき)
次はグループフィールド内のギャラリーフィールド呼び出し時です。
get_field(‘親フィールド’)[‘子のギャラリーフィールド’];で呼び出して、foreachで回します。
サムネイルつきなので、foreachが二回出てきます。
<?php $garally_imgs = get_field('garally')['garally_slider'];
if($garally_imgs): ?> // 親フィールド'garally'の中の'garally_slider'があれば、以下
<div class="bl_garally_imgs"> //メインイメージのループ外側
<?php foreach ($garally_imgs as $g_img) : ?>
<div class="garally_img bl_garally_img">
<?php
?>
<img src="<?php echo $g_img['sizes']['cafe-img']; ?>" alt="ギャラリーメインイメージ">
</div>
<?php endforeach; ?>
</div> //メインイメージのループ外側ここまで
<ul class="bl_garally_thumb"> //サムネイルのループここから
<?php
foreach ($garally_imgs as $g_img) : ?>
<li>
<div class="bl_thumb_wrapper">
<img src="<?php echo $g_img['sizes']['thumbnail']; ?>" alt="ギャラリーサムネイル </li>
<?php endforeach; ?>
</ul> //サムネイルのループここまで
<?php endif; ?>
garalley galleryが正解です。誤字は気にしないでください〜