我正在为我的一个客户建立一个网站,他们希望在他们的网站中添加如下功能:
当人们点击下载链接时,会出现一个表格(联系表格 7),访问者输入他们的详细信息后,它将重定向到下载链接。
通过对联系表 7 使用以下附加设置,我可以在提交表单后重定向到新页面。
on_sent_ok: "location = 'http://example.com/';"
但是,他们有 10 个文件,我需要更改重定向链接 10 次才能触发相应文件的下载。我可以使用 10 个非常脏的联系表来完成。
有什么方法可以动态更改重定向 URL?
例如,
http://example.com/?id=1
http://example.com/?id=2
<?php
$id = $_GET['id'];
$url= "http://example.com/id=?". $id;
?>
有没有办法用 $url 更改以下位置?
on_sent_ok: "location = 'http://example.com/';"
最佳答案
我找到了一种动态更改重定向 URL 的方法。我已按照以下步骤实现动态重定向:
在联系表 7 的附加设置中输入以下内容:
on_sent_ok: 'redirect();'
我们需要一个隐藏字段来携带一条必要的信息。但是,Contact form 7 默认不允许我们创建隐藏字段。开发商 SevenSpark 开发了一个扩展,允许在 Contact form 7 中隐藏字段。 http://wordpress.org/extend/plugins/contact-form-7-dynamic-text-extension/ 请下载插件并安装。您将看到为联系表单 7 生成了两个新标签。这将允许您从 $_GET 变量中获取值。请查看插件页面上的详细信息。
例如。 http://example.com/?foo= “酒吧”
创建模板页面或退出页面模板 ok。
将模板分配给适当的页面。如果您想使用默认模板,则无需创建或分配任何模板。
在编辑器中打开您的模板文件。
粘贴以下代码:
<script> function redirect() { // your hidden field ID var filename = document.getElementById('redFilename').value; var url =''; //alert(document.getElementById('redFilename').value); if (filename == 'apple') { url= 'http://example.com/thankyou/'; } else if (filename == 'orange') { url= 'http://example.com/thankyou_orange/'; } window.location = url; } </script>
现在浏览带有 GET 参数的链接。
例如。 http://example.com/?redFilename= “苹果”
联系表 7 的隐藏字段将捕获 redFilename 值。如果表单提交成功,它将重定向到 http://example.com/thankyou_orange/页
尽情享受吧!!!!
关于php - 如何动态更改联系表 7 重定向 URL - WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16454548/