【问题标题】:Need help using Advanced Custom Fields with Flexslider 2在 Flexslider 2 中使用高级自定义字段需要帮助
【发布时间】:2020-10-27 04:34:37
【问题描述】:

我正在尝试使用 ACF 和 Flexslider 2 在 Wordpress 中生成一个基本滑块。我想在左侧显示文本并在右侧显示图像,就像我在所附屏幕截图中创建的排列一样。

我希望滑块以完全相同的格式再旋转 2-3 个艺术家简历,蓝色背景充当滑块容器。我使用 ACF 转发器成功创建了自定义字段,其中包含名称、标题、生物文本和图像的子字段。我遇到的问题是,在创建转发器后,flexslider 根本不显示,而是我可以一次看到所有转发器字段,如下所示: theg8.com/about-the-art/

这是我的模板文件中的 PHP:

<li class="mason__grid-col col__full artist-highlight-section">
 <?php if( have_rows('artist_slider') ): ?>
  <div class="col-12 artist-info">
   <?php while( have_rows('artist_slider') ): the_row(); ?>
    <div class="artist-info-left col-lg-6 col-md-6 col-sm-12">
      <h2><?php the_sub_field('artist_name'); ?>
      </h2>
      <h3><?php the_sub_field('artist_title'); ?></h3>
      <p><?php the_sub_field('artist_bio'); ?></p>
     </div>
    <div class="artist-image-right col-lg-4 col-md-6 col-sm-12">
     <figure>
       <?php
         $image = get_sub_field('artist_image');
         $imageurl = $image['sizes']['slider'];
         ?>
       <li class="lazy"><img src="<?php echo $imageurl; ?>"></li>
      </figure>
     </div>
    <?php endwhile; ?>
   </div><!-- ends col-12 -->
 <?php endif; ?>
</li>

有人可以帮忙吗?

Screenshot of correct styling

【问题讨论】:

    标签: php wordpress advanced-custom-fields flexslider


    【解决方案1】:

    您将所有滑块信息添加到一张幻灯片中。

    FlexSlider 为每张幻灯片使用单独的 &lt;li&gt;,但您的 ACF 循环 inside 您的 &lt;li&gt;... 您需要将其移到外面并为每个幻灯片创建一个新的 &lt;li&gt;你想要的幻灯片。

    假设在您添加 ACF 字段之前,此 html 适用于您的滑块,您的代码应如下所示(请参阅 cmets 中的 setps 1 和 2,不要忘记更改结束标签以匹配!):

    <?php  /* 1. loop through the ACF rows first... */ ?>
    
    <?php if( have_rows('artist_slider') ): ?>
      <?php while( have_rows('artist_slider') ): the_row(); ?>
    
       <?php  /* 2. then for each 'artist_slider' row, 
                    create a new <li> and fill it with the details from the ACF row */ ?>
    
       <li class="mason__grid-col col__full artist-highlight-section">
          <div class="col-12 artist-info">
              <div class="artist-info-left col-lg-6 col-md-6 col-sm-12">
                <h2><?php the_sub_field('artist_name'); ?></h2>
                <h3><?php the_sub_field('artist_title'); ?></h3>
                <p><?php the_sub_field('artist_bio'); ?></p>
              </div>
              <div class="artist-image-right col-lg-4 col-md-6 col-sm-12">
               <figure>
                 <?php
                   $image = get_sub_field('artist_image');
                   $imageurl = $image['sizes']['slider'];
                   ?>
                 <li class="lazy"><img src="<?php echo $imageurl; ?>"></li>
               </figure>
             </div>
           </div><!-- ends col-12 -->
        </li>
      <?php endwhile; ?>
    <?php endif; ?>
    

    【讨论】:

    • 哦,谢谢!现在我有了带有 flexslider 的正确 ACF 循环结构,我可以看到滑块工作(我可以看到右下角的导航按钮);但是,我看不到任何 ACF 字段作为幻灯片内容。它弹出并在一瞬间看起来正确,然后消失。我在控制台中没有看到任何指向问题的内容。你有时间再看看吗?谢谢!
    • @ceteed 很高兴你能成功!如果我的回答有帮助,您应该考虑接受它:) 新问题听起来更像是 Flexslider 或幻灯片结构,而不是 ACF 内容。这将是一个新帖子 - 每个问题都应该是关于一个问题。首先要尝试几件事:在添加 ACF 内容之前,您是否使用标准 HTML 来处理它?我建议将它剥离回一个更简单的工作版本,然后一点一点地添加你的类、引导程序、ACF 字段等以缩小问题的范围。如果您再次发帖,这将帮助您获得更好的答案:)
    猜你喜欢
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    • 1970-01-01
    • 2016-07-12
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    相关资源
    最近更新 更多