如何在Divi联系表单中嵌入HTTP Referrer?
解决Divi联系表单无法获取页面URL/HTTP Referrer的问题
我帮你搞定这个问题——Divi默认的邮件合并标签确实只支持表单自身的字段,但通过添加隐藏字段+前端JS赋值的方式,就能轻松获取页面URL和HTTP Referrer,具体步骤如下:
第一步:给Divi表单添加隐藏字段
编辑你的Divi联系人模块,添加两个「Hidden」类型的字段:- 第一个字段设置ID为
page_url(注意Divi会自动给字段ID加上前缀和后缀,最终实际ID会是类似et_pb_contact_page_url_1,就像你给出的姓名字段et_pb_contact_name_1那样,可通过浏览器开发者工具确认) - 第二个字段设置ID为
http_referrer,同理实际ID会是et_pb_contact_http_referrer_1
- 第一个字段设置ID为
第二步:用JavaScript填充隐藏字段的值
我们需要在页面加载时,把当前页面URL和HTTP Referrer的值填充到对应的隐藏字段里。把下面的代码添加到你的网站(可以放在Divi主题选项的「Integration」→「Add code to the of your blog」,或者用自定义HTML模块放在页面底部):document.addEventListener('DOMContentLoaded', function() { // 获取当前页面URL const currentPageUrl = window.location.href; // 获取HTTP Referrer(用户从哪个页面跳过来的) const referrerUrl = document.referrer; // 找到页面URL的隐藏字段并赋值 const pageUrlField = document.getElementById('et_pb_contact_page_url_1'); if (pageUrlField) { pageUrlField.value = currentPageUrl; } // 找到HTTP Referrer的隐藏字段并赋值 const referrerField = document.getElementById('et_pb_contact_http_referrer_1'); if (referrerField) { referrerField.value = referrerUrl; } });注意:代码里的字段ID要和你实际添加的隐藏字段ID对应,如果你的表单是页面上的第二个Divi表单,后缀会是
_2而不是_1,可以通过浏览器F12查看源码确认。第三步:在邮件模板中调用这些字段
现在你就能在Divi联系表单的邮件模板里,用%%field page_url%%和%%field http_referrer%%来调用这两个值了,就像你用表单的邮箱、消息字段一样。
额外注意事项
- 测试的时候一定要实际提交表单,检查收到的邮件里是否包含这两个值;
- 如果你的网站启用了缓存插件,确保JS代码不会被缓存影响,必要时可以清除缓存后再测试;
- 如果用户是直接访问页面(没有Referrer),
document.referrer会返回空字符串,这是正常的浏览器行为。
内容的提问来源于stack exchange,提问作者Budda Seshu
相关产品推荐
相关产品推荐

