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

WordPress表单跳转API时&被转义为&,PHP如何获取并修复?

解决Elementor表单跳转URL参数转义问题的PHP方案

方案一:直接获取原始表单参数(最可靠)

绕过Elementor的转义问题,直接拿表单提交的原始参数重新拼接正确的API URL:

  1. 打开Elementor表单设置,将「提交动作」改为「重定向到外部URL」,把目标URL设为你的PHP脚本地址(比如 https://你的域名/fix-rental-url.php)。
  2. 编写fix-rental-url.php脚本,放在网站根目录:
<?php
// 替换为第三方租车API的基础地址
$api_base = 'https://第三方API域名/租车接口路径';

// 接收表单提交的所有原始参数
$form_data = $_POST;

// 自动拼接正确格式的URL(http_build_query会自动用&分隔参数,无转义问题)
$correct_url = $api_base . '?' . http_build_query($form_data);

// 跳转修复后的URL
header("Location: $correct_url");
exit;
?>

这个方法完全避开Elementor的转义逻辑,直接使用表单提交的原始数据,是最稳定的解决方案。

方案二:接收Elementor生成的转义URL并修复

如果无法修改表单提交逻辑,可让Elementor把转义后的URL作为参数传给脚本:

  1. 在Elementor表单的重定向URL设置中,填入:https://你的域名/fix-rental-url.php?target=[form_redirect_url]
    • 这里的[form_redirect_url]是Elementor的动态标签,选择「表单提交后的重定向URL」(不同版本可能命名略有差异,找对应选项即可)。
  2. 编写fix-rental-url.php脚本:
<?php
if (isset($_GET['target'])) {
    // 解码HTML实体,把&amp;还原为&
    $fixed_url = html_entity_decode($_GET['target']);
    
    header("Location: $fixed_url");
    exit;
}

// 无参数时跳转回租车页面
header("Location: https://你的域名/租车页面地址");
exit;
?>

操作提示

  • 优先选择方案一,无需依赖Elementor的动态标签,逻辑更简单。
  • 上传PHP脚本后,确保文件权限设置为755(大部分主机默认即可),保证PHP能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:50:28