$ _GET总是返回null
问题描述:
我有一个Wordpress站点使用简码在我们的服务器上调用一个.php文件。目标是使用隐藏字段将查询参数返回到Wordpress表单。
这是问题:$ _GET ['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会重置自身并清除查询参数。
我觉得我错过了一些简单的东西。或者Wordpress可能会阻止查询参数某处为这个页面,所以它清除网址?
正如评论所说的史蒂夫,我添加了以下到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'));
还有当我添加空输出查询参数?测试=测试。
答
使用get_query_var()函数来获取查询字符串变量
您的Wordpress是否设置为使用永久链接/友好URL?如果是这样的话,可能参数没有被传递... 尝试使用下面描述的方法:http://wordpress.stackexchange.com/questions/46108/wordpress-and-get-params – steve
我们使用永久链接..日期和名称格式。看起来像这个解决方案可能在正确的轨道上,但它仍然没有解决它。我更新了这个问题来描述我所做的。 – cyk