如何在WordPress Oxygen中判断ACF Repeater是否为空并隐藏对应区块
解决Oxygen Builder中ACF Repeater为空时隐藏区块的问题
Oxygen的内置条件判断确实不支持直接检测ACF Repeater是否为空,不过可以通过以下两种简单方法实现需求:
方法一:直接使用自定义PHP条件(最快实现)
- 在Oxygen编辑器里选中承载画廊的目标区块,打开「条件」设置面板
- 选择「自定义 PHP」选项,输入以下代码(记得替换成你的Repeater字段别名):
return have_rows('你的repeater字段别名'); - 保存设置。当Repeater没有任何内容行时,
have_rows()会返回false,对应区块就会自动隐藏
方法二:自定义函数(适合多场景复用)
如果需要在多个区块复用这个判断逻辑,可以先在主题的functions.php文件中添加自定义函数:
function is_acf_repeater_has_content($field_slug) { // 检测Repeater是否存在内容行 return have_rows($field_slug); }
回到Oxygen的条件设置面板,选择「自定义 PHP」并输入:return is_acf_repeater_has_content('你的repeater字段别名');
同样要替换代码中的字段别名为你在ACF里创建Repeater时设置的实际slug(不是显示名称)。
内容的提问来源于stack exchange,提问作者Angel Miladinov
相关产品推荐
相关产品推荐

