WordPress无法读取归属字段组的自定义字段问题排查求助
问题排查与修复方案
排查及修复步骤
- 核对字段名拼写错误:你代码中第三个字段
slider-_shortcode的命名规则和前两个slider_-_h1、slider_-_h2不一致,前两个是「slider + 下划线 + 减号 + 下划线」的结构,第三个少了一个下划线,大概率是拼写错误,先和后台自定义字段的实际名称对比修正。 - 确认
get_sub_field的使用场景是否正确:get_sub_field是ACF插件专属的读取函数,仅能在Repeater、Flexible Content、Group这类嵌套字段的have_rows循环内部使用。如果你是直接在首页模板中调用,没有外层的子字段循环结构,应该改为使用get_field('字段名')读取顶层自定义字段。 - 静态首页需指定页面ID:如果你的站点首页设置为静态页面,且当前代码不在首页主循环内部,读取字段时需要传入首页的ID参数,示例:
get_field('字段名', get_option('page_on_front')),如果是子字段,外层的have_rows方法也需要同步传入该ID参数。 - 增加临时调试代码验证返回值:在对应位置加入测试代码确认字段是否能正常读取,示例:
<?php var_dump(get_sub_field('slider_-_h1')); ?>,如果输出为bool(false)或NULL说明确实没读到字段值,优先排查以上3项问题;如果能输出对应字段值,再检查if判断逻辑或输出逻辑是否有问题。 - 短代码字段需解析:如果
slider-_shortcode字段存储的是WordPress短代码,直接echo不会解析短代码内容,需要改为<?php echo do_shortcode($text_area); ?>调用。
内容的提问来源于stack exchange,提问作者CodeForGood
相关产品推荐
相关产品推荐

