【发布时间】:2014-02-05 15:54:50
【问题描述】:
我有一个 Wordpress 网站,它使用简码调用我们服务器上的 .php 文件。目标是使用隐藏字段将查询参数返回到 Wordpress 表单。
这是问题所在:$_GET['param'] 似乎不适用于任何键“param”。例如,我的简码函数中有以下代码:
ChromePhp::log('Test Output');
ChromePhp::log($_GET['test']);
ChromePhP::log($_SERVER['QUERY_STRING']);
我已经安装了一个 PHP 日志插件,所以我可以从 Chrome javascript 控制台看到 PHP 输出。当我访问 URL mysite.com/properpage?test=testparam 输出是:
Test Output
null
null
我不确定它是否相关,但是当我使用正确的查询参数 (?test=testparam) 访问 url 时,url 会自行重置并清除末尾的查询参数。
我觉得我错过了一些简单的东西。或者 Wordpress 可能会阻止此页面某处的查询参数,因此它会清除 url?
按照 steve 在评论中的建议,我将以下内容添加到我的简码函数所在的 functions.php 文件中:
add_action('init','wpse46108_register_param');
function wpse46108_register_param() {
global $wp;
$wp->add_query_var('test');
}
但是
ChromePhp::log(get_query_var('test'));
当我添加查询参数 ?test=test 时,输出仍然为空。
【问题讨论】:
-
您的 Wordpress 是否设置为使用永久链接/友好 URL?如果是这样,可能是参数没有被传递...尝试使用以下描述的方法:wordpress.stackexchange.com/questions/46108/…
-
我们确实使用永久链接.. 日期和名称格式。似乎这个解决方案可能在正确的轨道上,但它仍然没有解决它。我更新了问题以描述我做了什么。
标签: php wordpress get query-parameters