ACF:仅获取转发器字段的第一行

时间:2021-09-13 作者:SilberArt

我有一个中继器文件名为;“图像”;在里面我有一个sub\\u文件名为;图像;。

如何仅获取第一行值?

这是我的密码

<?php if( have_rows(\'images\') ): ?>
<?php
$active = \'active\';
while ( have_rows(\'images\') ) : the_row();
$image = get_sub_field(\'image\');
if($image == "" ) continue;
?>
<img src="<?php echo get_template_directory_uri(); ?>/files/images/<?php the_sub_field(\'image\'); ?>" class="img-fluid is-slider-item" />
<?php $active = \'\';
endwhile;
?>
<?php endif; ?>
我试过的

<?php
$active = \'active\';
while ( have_rows(\'images\') ) : the_row();
$image = get_sub_field(\'image\');
if($image == "" ) continue;
?>
<img src="<?php echo get_template_directory_uri(); ?>/files/images/<?php the_sub_field(\'image\'); ?>" class="img-fluid is-slider-item" />
break;
<?php $active = \'\';
endwhile;
?>
<?php endif; ?>
非常感谢!

1 个回复
SO网友:Ariel

ACF有一个名为get_row_index() 您可以利用的。以下是您如何在您的案例中使用它

    <?php
      $active = \'active\';
      while ( have_rows(\'images\') ) : the_row();
      $image = get_sub_field(\'image\');
      if(get_row_index() == \'1\' ):
    ?>
      <img src="<?php echo get_template_directory_uri(); ?>/files/images/<? 
 php the_sub_field(\'image\'); ?>" class="img-fluid is-slider-item" />
    break;
    <?php $active = \'\';
    endwhile;
    ?>
    <?php endif; ?>
注意,我检查了行索引是否为1(第一行),然后显示了该逻辑中需要的内容。

希望这有帮助!