php - Group ACF Wordpress 中的中继器
问题描述
我正在使用 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; ?>
解决方案
我相信这个答案是正确的,但对于那些寻求通用实现的人来说似乎还不够清楚。
<?php
if( have_rows('your_group') ): while ( have_rows('your_group') ) : the_row();
if( have_rows('your_repeater') ): while ( have_rows('your_repeater') ) : the_row();
echo get_sub_field('repeater_sub_field');
endwhile; endif;
endwhile; endif;
?>
通常对于组,您可以使用以下方法访问特定的子字段:
<?php
$group_var = get_field['your_group'];
$group_sub_field_var = $group_var['group_sub_field']
?>
但是,对于嵌套在组内的中继器,您似乎无法使用此策略,并且必须先循环通过一个组have_rows()
才能到达中继器。
如果您查看ACF 上的组文档,它会提到如何像中继器一样循环组。此外,have_rows()
文档还有更多关于使用have_rows()
.
推荐阅读
- c# - Visual Studio Code 中的实体框架错误
- angular - 如何从 Angular12 中的 NgbModal 发出 EventEmitter?
- firebase - Firebase 身份验证,错误:NoSuchMethodError:在 null 上调用了方法“登录”
- image - (有效原因)在 Preload 之外加载图像(p5js)
- python - 如何将pynput的键盘监听器隔离到一个窗口
- python - 信号量不限制并发执行的数量
- excel - 用于对增量进行平均的 Excel 函数
- python - 以管理员身份运行 jar 文件
- html - 远程服务器返回错误:(400) 错误请求。尝试使用 Powershell 通过 mail.send 发送 HTML
- flutter - 按钮 onPressed 回调是一个导航命令,按下时不导航