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

WordPress中ACF短码无法获取项目自定义字段值的技术求助

解决ACF短码在WPBakery文本元素中返回空值的问题

1. 验证ACF短码启用代码

先确认你在主题functions.php中启用ACF短码的代码是否正确,替换为以下标准代码后刷新站点测试:

add_filter('acf/settings/shortcode_enabled', '__return_true');

2. 确保短码在文章上下文内调用

WPBakery文本元素如果脱离了Project文章的循环上下文(比如在Grid Builder的全局区域而非项目项内部),ACF无法识别当前文章ID,会返回空值。必须保证短码是在单个Project文章模板或Grid Builder的项目循环组件内部使用。

3. 自定义短码替代(更可靠方案)

如果默认ACF短码仍无法正常工作,建议自定义短码直接输出格式化后的位置信息,完全适配你的布局需求:
在functions.php中添加以下代码:

function project_location_shortcode() {
    // 仅在Project自定义文章类型下生效
    if (get_post_type() !== 'project') return '';
    
    $town = get_field('town');
    $state = get_field('state');
    
    // 按规则格式化输出,处理空值情况
    if ($town && $state) {
        return sprintf('%s, %s', esc_html($town), esc_html($state));
    } elseif ($town) {
        return esc_html($town);
    } elseif ($state) {
        return esc_html($state);
    }
    return '';
}
add_shortcode('project_location', 'project_location_shortcode');

之后在WPBakery的文本元素中直接使用[project_location]即可,输出内容默认是左对齐的单行文本,无需担心布局限制。

4. 复查ACF字段配置

  • 确认town和state字段的位置规则已正确关联到Project自定义文章类型;
  • 再次检查字段的“Allow Access to Value in Editor UI”选项处于开启状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 21:12:35