$ _GET始终返回null

时间:2014-02-05 15:54:50

标签: php wordpress get query-parameters

我有一个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)访问网址时,网址会重置并自动清除查询参数。

我觉得我错过了一些简单的事情。或者Wordpress可能会在此页面的某处阻止查询参数,以便清除网址?

正如评论中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。

1 个答案:

答案 0 :(得分:0)

使用get_query_var()函数获取查询字符串变量