首页 > 解决方案 > PHP/Wordpress:捕获 OnClick 事件 '下载 URL;并将其传递给“谢谢”页面以初始化下载

问题描述

在 wordpress 中,我有一个 single.php 页面,其中包含使用 onclick 事件的文件下载链接。

这就是我今天的 href 的样子:

 <a onclick="window.open('<?php echo $software_download_url; ?>');>DOWNLOAD</a>

我基本上希望用户单击下载链接,然后转到文件将开始下载的“谢谢”页面。而且,要获取该页面的 TITLE 并传递它。

我将流程设想为捕获 onclick 事件中回显的任何内容,然后将其作为 url 中的参数传递,以便下载可以初始化。

所以是这样的:

 <a onclick="window.open('thank_you.php?dl=<?php echo $software_download_url; ?>?title=<?php echo $the_title;?>');>DOWNLOAD</a>

除非有更好的方法。但我不确定如何从 url 捕获该文件/标题作为参数,然后初始化下载。

可以做到吗?

标签: javascriptphpwordpress

解决方案


要在 URL 中设置和获取参数,您需要使用 WordPress 查询变量。对于您自己的自定义查询变量,您需要先像这样注册它:

function add_query_vars($vars) {
    $vars[] = "title";
    return $vars;
}
add_filter('query_vars', 'add_query_vars');

这段代码进入你的模板 function.php 或者你可以制作一个小插件来添加它,如果你愿意的话。

get_query_var()然后在“谢谢”页面的模板中获取您使用的查询变量:

$title = get_query_var('title', false);

您可以在此处阅读有关获取查询变量的更多信息: https ://codex.wordpress.org/Function_Reference/get_query_var


推荐阅读