カスタムフィールド出力の覚書 | ギャラリー機能使用時

Wordpress

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が正解です。誤字は気にしないでください〜

タイトルとURLをコピーしました