【问题标题】:$_GET always returning null$_GET 总是返回 null
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-07-08
    • 1970-01-01
    • 2014-03-04
    • 2016-11-02
    • 2014-05-06
    • 2012-06-05
    • 2014-05-30
    • 2014-02-23
    • 2017-10-12
    相关资源
    最近更新 更多