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

WordPress表单邮件中如何获取上一页URL或页面标题?

解决WordPress申请表单获取跳转前来源页的问题

既然你提到了[_url]、[_post_name]这类标签,猜你用的应该是Contact Form 7插件吧?确实,这些内置标签只能返回当前表单页的信息,没法拿到用户跳转前的来源页。不过咱们可以通过「隐藏字段 + JavaScript」的方式轻松搞定,具体步骤如下:

1. 在表单中添加隐藏字段

打开你的Contact Form 7表单编辑器,新增一个隐藏字段用来存储来源页信息,比如命名为referrer_page:

[hidden referrer_page id="referrer-page"]

2. 用JavaScript填充隐藏字段的值

接下来编写一段JS代码,获取document.referrer的值并赋值给刚才的隐藏字段。你可以把这段代码添加到主题的functions.php中,或者用自定义HTML插件插入到表单所在页面:

<script>
document.addEventListener('DOMContentLoaded', function() {
  const referrerField = document.getElementById('referrer-page');
  const referrerUrl = document.referrer;
  
  if (referrerUrl && referrerField) {
    referrerField.value = referrerUrl;
  } else {
    // 处理用户直接访问表单页的情况,设置默认提示
    referrerField.value = '用户直接访问表单页';
  }
});
</script>

3. 在邮件模板中引用该字段

现在你可以在Contact Form 7的邮件正文中使用[referrer_page]标签,收到的邮件就能显示用户跳转前的来源URL了:

用户跳转前页面:[referrer_page]

补充:获取来源页标题(可选)

如果还需要获取来源页的标题,document.referrer只能拿到URL,没法直接获取标题。如果来源页是你自己网站的同域页面,可以通过URL参数传递标题:

  • 在职位详情页的申请按钮链接中,追加标题参数:
    <a href="https://www.inext.se/job-apply-form/?id=6770&title=<?php echo urlencode(get_the_title()); ?>">申请职位</a>
    
  • 然后在表单的JS代码中,新增逻辑获取URL参数里的标题,赋值给另一个隐藏字段(比如referrer_title):
    // 封装获取URL参数的函数
    function getUrlParam(name) {
      const urlParams = new URLSearchParams(window.location.search);
      return urlParams.get(name);
    }
    
    const titleField = document.getElementById('referrer-title');
    const pageTitle = getUrlParam('title');
    if (pageTitle && titleField) {
      titleField.value = decodeURIComponent(pageTitle);
    }
    
  • 最后在邮件模板中用[referrer_title]标签即可调用来源页标题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:27:42