如何将ACF简码添加到表单URL提交链接并正常获取自定义字段值
问题原因及解决方法
你遇到的ACF简码无法正常输出值是以下几个常见问题导致的,按优先级排查即可:
1. 引号冲突(最直接的语法错误)
你当前代码中value属性用了双引号包裹,内部ACF简码的field参数也使用了双引号,浏览器/解析器会在遇到简码里的第一个双引号时就判定value属性结束,导致简码被截断无法解析。
修改方案:将简码内部的双引号替换为单引号即可,修改后的代码段为:
<input autocomplete="off" name="Code" type="hidden" value="[acf field='input']" data-id="Code" />
2. 确认代码放置位置支持简码解析
场景1:代码放在WordPress后台编辑器/页面构建器中
- 确保代码是粘贴在「HTML/文本」编辑模式下,不要放在可视化编辑模式,后者会自动转义特殊字符导致简码失效
- 从你代码中的
[row][col]短码判断大概率是用了Flatsome主题的UX Builder,要确保存放代码的模块是支持短码解析的自定义HTML模块,不要用纯文本模块。
场景2:代码直接写在主题/子主题的PHP模板文件中
PHP文件中直接写WordPress短码不会被自动解析,需要用do_shortcode()函数包裹输出,对应代码修改为:
<input autocomplete="off" name="Code" type="hidden" value="<?php echo do_shortcode('[acf field="input"]'); ?>" data-id="Code" />
3. 排查ACF字段配置
- 确认你创建的ACF字段的字段名称确实是
input,无拼写错误 - 确认当前页面/文章的对应ACF字段已经填写了有效值
- 如果该字段是全局选项字段,需要在简码中补充
post_id参数,写法为[acf field='input' post_id='option']
内容的提问来源于stack exchange,提问作者SavPhill
相关产品推荐
相关产品推荐

