在 wordpress 中使用 acf 时,若 `echo` 输出的 html 标签未被渲染而仅显示为纯文本(如带引号的字符串),通常是因为误用了 `the_sub_field()`(直接输出并返回 void),应改用 `get_sub_field()` 获取原始值后再安全输出。
ACF 提供了两组核心字段获取函数:the_*_field() 和 get_*_field()。它们的关键区别在于:
在你的原始代码中:
the_sub_field() 执行时已将内容直接输出到页面(可能出现在
外部或不可见位置),同时 $process_title 实际被赋值为 null。因此后续 if(!empty($process_title)) 恒为 false,整个
✅ 正确写法如下(使用 get_sub_field):
⚠️ 重要补充建议:
等),又防止 XSS 风险,比裸 echo 更安全;
总结:始终根据使用场景选择 ACF 获取函数——需赋值/判断/加工时用 get_*_field();仅需简单插入内容时才用 the_*_field()。一次函数误用,可能导致整个区块渲染失效。