【问题标题】:How do I set ACF repeater to only show X items per row如何将 ACF 转发器设置为每行仅显示 X 个项目
【发布时间】:2019-10-24 23:47:48
【问题描述】:

我正在使用 ACF pro 转发器字段,它每行呈现单个图像。但是它会显示所有图像,直到它换行到下一行:

<div class="client-logo-web-wrapper"><?php $logo_images = get_field( 'logo' ); ?>
<?php if ( $logo_images ) :  ?>
    <?php foreach ( $logo_images as $logo_image ): ?>
        <a href="<?php echo $logo_image['url']; ?>">
            <img src="<?php echo $logo_image['sizes']['thumbnail']; ?>" alt="<?php echo $logo_image['alt']; ?>" />
        </a>
    <p><?php echo $logo_image['caption']; ?></p>
    <?php endforeach; ?>
<?php endif; ?>
<?php if ( have_rows( 'logo_gallery' ) ) : ?>
<?php while ( have_rows( 'logo_gallery' ) ) : the_row(); ?>
    <?php $client_logo = get_sub_field( 'client_logo' ); ?>
        <?php if ( $client_logo ) { ?>
            <div class="client-logo"><img src="<?php echo $client_logo['url']; ?>" alt="<?php echo $client_logo['alt']; ?>" />
            </div>
        <?php } ?>
    <?php endwhile; ?></div>
<?php else : ?>
    <?php // no rows found ?>
<?php endif; ?>

相反,我想每行显示一组图像(例如 4 个)。谢谢!

【问题讨论】:

    标签: wordpress advanced-custom-fields


    【解决方案1】:

    您需要定义限制,并在达到该限制后中断循环。此外,您还可以在 ACF 字段定义中设置最大项目数。

    尝试以下设置限制:

    <?php
    $show = 4;
    $count = 0;
    ?>
    <?php if ( $logo_images ) :  ?>
        <?php foreach ( $logo_images as $logo_image ): ?>
    <?php $count++; ?>
            <a href="<?php echo $logo_image['url']; ?>">
                <img src="<?php echo $logo_image['sizes']['thumbnail']; ?>" alt="<?php echo $logo_image['alt']; ?>" />
            </a>
        <p><?php echo $logo_image['caption']; ?></p>
    <?php if ($count > $show) { break; } ?>
        <?php endforeach; ?>
    <?php endif; ?>
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2011-11-23
      • 2011-08-02
      • 2015-03-09
      • 1970-01-01
      • 2012-08-16
      相关资源
      最近更新 更多