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

如何使表单隐藏字段输出完整提交页面URL而非仅REQUEST_URI值?

如何在Formidable Forms隐藏字段中获取完整的提交来源URL?

你当前的代码只提取了请求的路径部分($_SERVER['REQUEST_URI']),所以邮件里只能看到/tour/australia这类相对路径。要生成包含协议、域名的完整URL,我们需要把几个服务器环境变量拼接起来,替换原来的赋值逻辑即可。

修改后的代码如下:

add_filter('frm_get_default_value', 'my_custom_default_value', 10, 2); 
function my_custom_default_value($new_value, $field){ 
    if($field->id == 84){ // 隐藏字段ID
        // 判断当前协议(HTTP/HTTPS)
        $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' ? 'https' : 'http';
        // 获取域名(包含端口,如果非默认端口的话)
        $domain = $_SERVER['HTTP_HOST'];
        // 拼接完整URL
        $new_value = $protocol . '://' . $domain . $_SERVER['REQUEST_URI'];
    } 
    return $new_value; 
}

代码说明:

  • $protocol:通过检查$_SERVER['HTTPS']变量判断当前使用的是HTTP还是HTTPS协议,确保链接的协议部分正确。
  • $domain:$_SERVER['HTTP_HOST']会返回请求的域名(比如yourwebsite.com,如果是非80/443端口的话还会包含端口号,比如yourwebsite.com:8080)。
  • 最后把协议、域名和原路径拼接起来,就能得到类似https://yourwebsite.com/tour/australia的完整URL了。

这样修改后,你的邮件里就能收到带完整协议和域名的来源链接啦。

内容的提问来源于stack exchange,提问作者MK-DK

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:49:06