我正在使用WordPress的高级自定义字段,并试图在组内循环中继器。我得到的只有“注意:数组到字符串的转换...”
出了什么问题&我该如何解决?
<?php if( have_rows('start_horlurar') ): while ( have_rows('start_horlurar') ) : the_row(); ?>
<?php $horlur = get_sub_field('horlur'); ?>
<?php if( have_rows( $horlur['arsmodeller_lankar']) ): while ( have_rows($horlur['arsmodeller_lankar']) ) : the_row(); ?>
<?php echo get_sub_field('lank'); ?>
<?php endwhile; endif; ?>
<?php endwhile; endif; ?>
4条答案
按热度按时间a0x5cqrl1#
我相信这是正确的回答,但它似乎不够清楚,为那些寻找一个通用的实现。
通常,对于组,您可以使用以下命令访问特定的子字段:
然而,对于组内嵌套的中继器,您似乎无法使用此策略,并且必须首先使用
have_rows()
循环通过组才能到达中继器。如果你看一下group documentation on ACF,它提到了如何像中继器一样在一个组中循环。
have_rows()
documentation也有更多关于使用have_rows()
的嵌套循环的细节。wgx48brx2#
在嵌套的ACF中继器中,您不需要添加父中继器的引用-只需单独添加中继器名称。像这样试试。
**更新代码:**需要像ACF Repeater一样循环ACF Group字段。像这样试试。
db2dz4w83#
我发现双循环很乱,不需要。我知道这是旧的,但我只是有这个问题,不想有两个循环。
对于我的组('group ')和我的中继器('repeater'),子字段为('subfield '),这就是我所做的。
超级简单,而且干净得多。如果需要,您可以添加“if”语句,并且不控制我的必填字段。
我发现这种方法对快速和肮脏很重要。我几乎在所有事情上都使用组,以便能够为后端的自定义字段创建更好的用户体验。我的大部分自定义字段都是分组和抓取参数,我希望它尽可能少的代码和干净。
如果你们发现这种方法有任何问题,请告诉我,特别是在性能方面。
kuhbmx9i4#
我把它格式化成这样,我认为它更清晰: