You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Advanced Custom Fields(ACF)中子分组的字段数据

问题核心原因

如果你的front-page.php是站点后台设置的静态首页,ACF默认无法自动匹配到该静态页的ID,需要手动指定定位字段,另外group类型属于单组关联结构,也可以不用循环直接读取。


正确调用写法

写法1:保留原有循环逻辑(修复版)

<?php
// 获取静态首页的专属ID
$home_page_id = get_option('page_on_front');
if (have_rows('left-result', $home_page_id)) :
?>
<li>
    <?php while (have_rows('left-result', $home_page_id)) : the_row(); 
        $t_ttl = get_sub_field('left-title');
    ?>
    <h1><?php echo esc_html($t_ttl); ?></h1>
    <?php endwhile; ?>
</li>
<?php endif; ?>

写法2:简化写法(group类型无需循环)

group字段返回的是关联数组,直接读取对应子字段键值即可,代码更简洁:

<?php
$home_page_id = get_option('page_on_front');
$left_result = get_field('left-result', $home_page_id);
if ($left_result && isset($left_result['left-title'])) :
?>
<li>
    <h1><?php echo esc_html($left_result['left-title']); ?></h1>
</li>
<?php endif; ?>

特殊情况说明

如果你该字段是绑定到ACF选项页而非静态页条目,把上述代码里的$home_page_id替换为'option'即可生效。

内容的提问来源于stack exchange,提问作者Harry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:36:03