2016-08-04 8 views
1

高度なカスタムフィールドを使用して自分のサイトのスライダーを生成しています。それぞれの画像(添付ファイル)には、「ページリンク」オプションを使用してカスタムフィールドが付加されています。これにより、各画像にリンクを関連付けることができます。以下のコードは、リンクを介して引いているが、それは関係なく、私もURL_LINKを作る試みたWP ACFスライダー内の画像数に「ページリンク」URLを付けます

<section class="slideshow"> 
     <?php 
     $images = get_field('slideshow'); 
     if($images): 
     ?> 
      <?php foreach($images as $image): ?> 
       <figure> 
        <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /> 
        <figcaption> 
         <h2><?php echo $image['caption']; ?></h2> 
         <h4><a href="<?php the_field('url_link'); ?>">View Case Study</a></h4> 
        </figcaption> 
       </figure> 
      <?php endforeach; ?> 
     <?php endif; ?> 
    </section> 

そのうち一つが(各画像は、異なるリンクを有していなければならない)、スライダに表示される各画像について同じですフィールドは以下のようにイメージに固有ですが、これは情報を引き出すものではありません。

<h4><a href="<?php echo $image['url_link']; ?>">View Case Study</a></h4> 

事前に感謝します。

+0

あなたの 'slideshow'フィールドにはどのフィールドタイプを使用していますか? –

+0

@ JordiNebot - ギャラリーのフィールドタイプを使用しています。 –

答えて

0

これは「ギャラリー」のカスタムフィールドを使用するのに最適ではないことが判明しました。代わりに、私は画像、キャプションとリンク情報を保持することができるサブフィールドを持つことができる 'Repeater'フィールドを使用することに変わりました。コードは以下のように改訂されました。

<section class="slideshow">  
    <?php if(have_rows('slideshow_slides')): ?> 
     <?php while(have_rows('slideshow_slides')): the_row(); 
      // vars 
      $image = get_sub_field('image'); 
      $caption = get_sub_field('caption'); 
      $link = get_sub_field('link'); 
     ?> 

     <figure> 
      <img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt'] ?>" /> 
      <figcaption> 
       <h2><?php echo $caption; ?></h2> 
       <?php if($link): ?>      
        <h4><a href="<?php echo $link; ?>">View Case Study</a></h4> 
       <?php endif; ?> 
      </figcaption> 
     </figure> 

     <?php endwhile; ?> 
    <?php endif; ?> 
</section> 
関連する問題