2014-02-20 2 views
0

Я пытаюсь создать слайд-шоу fancybox, которое появляется, когда вы нажимаете на один миниатюру. Я использую дополнительные пользовательские поля с полем галереи.Дополнительные пользовательские поля - Fancybox Slideshow при нажатии на миниатюру

Это то, что у меня есть;

 <?php 
     $images = get_field('gallery'); 
     $image_1 = $images[0]; 
     ?>  
     <a href="<?php echo $images['url']; ?>" rel="fancybox"> 
     <img src="<?php echo $image_1['url']; ?>" /></a> 

К сожалению, ничего не происходит, когда вы нажимаете на изображение ...

зацепки?

Спасибо!

ответ

0

Как Пранита сказал, что вы должны использовать цикл for для создания галереи.

Если вы видите больше миниатюр, чем вы хотите, вы можете просто создать свой HTML/CSS, чтобы все миниатюры, кроме первого, были спрятаны.

Используйте это, начиная с official documentation и настройте его под свои нужды.

<?php $images = get_field('gallery'); 

if($images) : ?> 
    <div id="carousel" class="flexslider"> 
     <ul class="slides"> 

     <?php foreach($images as $image): ?> 
      <li> 
       <img src="<?php echo $image['sizes']['thumbnail']; ?>" alt="<?php echo $image['alt']; ?>" /> 
      </li> 
     <?php endforeach; ?> 

     </ul> 
    </div> 
<?php endif; ?> 
0

Проблема в том, что вы использовали $ images ['url'], где изображения представляют собой многомерный массив. Он должен быть $ image_1 ['url'];

Просто используйте для петли, если вы хотите каждое изображение. Если хотите только одно изображение, используйте

<a href="<?php echo $images[0]['url']; ?>" rel="fancybox"> 
     <img src="<?php echo $images[0]['url']; ?>" /></a> 
+0

Я использовал $ images ['url'], потому что хочу, чтобы все другие изображения были связаны с одним изображением. Если я использую for loop, все изображения отображаются также как миниатюры, но я хочу только один миниатюру. –