css - Wordpress ACF Repeater 背景图片只加载最后一张图片

标签 css wordpress background advanced-custom-fields slick.js

我有一个漂亮的旋转木马,我希望圆点能够动态显示当前正在显示的幻灯片上的图像。

图像通过我放在头部的 Wordpress ACF Repeater 动态出现

这是我脑海中的代码:

  <meta charset="utf-8">
  <meta http-equiv="x-ua-compatible" content="ie=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <style type="text/css">
  <?php if( have_rows('testimonial_slides') ): ?>

    .testimonial_slider_dots li {
        background: #FFF0CE;
        height: 10px;
        width: 10px;
        border-radius: 50%;
        margin: 15% 0;
    }

    .testimonial_slider_dots .slick-active {
        <?php while( have_rows('testimonial_slides') ): the_row();
            $icon = get_sub_field('testimonials_slide_product_icon');
        ?> 
            background: url('<?php echo $icon['url']; ?>');
        <?php endwhile; ?>
        background-repeat: no-repeat !important;
        background-position: 50% 50% !important;
        background-size: cover !important;
        width: 50px !important;
        height: 50px !important;
    }

  <?php endif; ?>
  </style>
  @php wp_head() @endphp
</head>

这是我的 JS

$('.testimonials-slider').slick({
    dots: true,
    arrows: false,
    infinite: true,
    //autoplay: true,
    slidesToShow: 1,
    adaptiveHeight: true,
    dotsClass: 'testimonial_slider_dots',
    responsive: [
        {   
            breakpoint: 768,
            adaptiveHeight: false,
        },
    ],
});

图像正在显示,但我只看到转发器中的最后一张图像,而不是与我当前看到的幻灯片相匹配的特定图像。

编辑:

这是 HTML:

<ul class="testimonial_slider_dots" style="display: flex;" role="tablist">
    <li class="slick-active" role="presentation">
        <button type="button" role="tab" id="slick-slide-control10" aria-controls="slick-slide10" aria-label="1 of 6" tabindex="0" aria-selected="true">1</button>
    </li>
    <li role="presentation">
        <button type="button" role="tab" id="slick-slide-control11" aria-controls="slick-slide11" aria-label="2 of 6" tabindex="-1">2</button>
    </li>
    <li role="presentation">
        <button type="button" role="tab" id="slick-slide-control12" aria-controls="slick-slide12" aria-label="3 of 6" tabindex="-1">3</button>
    </li>
    <li role="presentation">
        <button type="button" role="tab" id="slick-slide-control13" aria-controls="slick-slide13" aria-label="4 of 6" tabindex="-1">4</button>
    </li>
    <li role="presentation">
        <button type="button" role="tab" id="slick-slide-control14" aria-controls="slick-slide14" aria-label="5 of 6" tabindex="-1">5</button>
    </li>
    <li role="presentation"><button type="button" role="tab" id="slick-slide-control15" aria-controls="slick-slide15" aria-label="6 of 6" tabindex="-1">6</button>
    </li>
</ul>

当页面加载时,这是 css 在检查时的样子:

screenshot of css on load

最佳答案

发生的事情是,每次您在内联 block css 中实例化一个新的背景图像时,它都会覆盖下一个。我建议在每张幻灯片的元素上编写内联背景图片,这将阻止 css 相互覆盖。

所以你的动态代码看起来像这样

<div class="testimonial-slider">
   <?php while( have_rows('testimonial_slides') ): the_row(); ?>
      <div class="single-slide" style="background-image: <?php get_sub_field('testimonials_slide_product_icon')['url']; ?>">
  <?php endwhile; ?>
</div>

关于css - Wordpress ACF Repeater 背景图片只加载最后一张图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59188091/

相关文章:

javascript - 向插件添加属性(不是默认方式)

php - 如何在非wordpress页面中调用简码?

java - java处理中如何一键来回改变背景颜色?

具有透明背景的 iOS 应用程序图标在设备上显示黑色背景

jquery - 打开可滚动的父 div 时始终显示子 div

php - 从查询中排除当前帖子的缩略图

创建的三 Angular 形和背景重叠的 CSS 问题

wordpress - 保存和检索自定义插件选项输入

html - 如何实现背景图片

html - 如何为 html 控件指定默认类名