ACF将下一个子字段数据获取到当前行

时间:2018-04-17 18:46:57

标签: php jquery foreach advanced-custom-fields slick-slider

我使用带有ACF字段的光滑滑块(Wordpress)。我正在尝试将当前幻灯片的下一个和上一个帖子标题(.slick-current)。

我有三个活动幻灯片,类为.slick-active,中间一个也有类.slick-current(除了.slick-active)

<?php if (have_rows('videofeed','option')): ?>
<div class="slider-popular">
            <?php while (have_rows('videofeed2','option')) : the_row(); ?>
                <div class="slider-go-wrap">
                      <h2 class="video-title"> <?php the_sub_field('video_title'); ?> </h2><!-- the video title -->

                    <div class="video-controls">
                                <div class="prev-title-popular">
                                    <span class="lightspan controltitles prev-videotitle">PREVIOUS TITLE HERE</span> <!-- previous  ACF row sub_field "video_title" here -->
                                </div>

                                <div class="next-title-popular">
                                    <span class="lightspan controltitles next-videotitle">NEXT TITLE HERE</span><!-- next ACF row sub_field "video_title" here -->
                                </div>
                    </div>
                </div>
            <?php endwhile;?>
</div>     
<?php endif; ?>

不是服务器端的人,我如何将以下php循环集成到我的ACF字段中继器中,并使用当前幻灯片中的下一个和上一个字段数据?有没有比php循环更简单的方法呢?

$rows = get_field('videofeed');
if($rows)
{

    foreach($rows as $index => $row)
    {
        // from there, you can get prev / next data using loop index ($rows[$index-1] / $rows[$index+1]
    }

}

来自这里的任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

使用以下jQuery代码解决问题,适用于每张幻灯片:

$('.slider-go-wrap').each(function() {
  currentSlide = $(this);
  nextSlide = currentSlide.next();
  prevSlide = currentSlide.prev();
  nextSlideData = nextSlide.find('.video-title').html();
  prevSlideData = prevSlide.find('.video-title').html();

  currentSlide.find('.next-videotitle').html(nextSlideData);
  currentSlide.find('.prev-videotitle').html(prevSlideData);

});