Php Wordpress插件问题,$\u GET未返回值

Php Wordpress插件问题,$\u GET未返回值,php,wordpress,query-parameters,Php,Wordpress,Query Parameters,我正在为wordpress编写一个插件,该插件的第一步是将cookie设置为url param?r=的值(如果存在) public function init_query_params() { if(!isset($_GET['r'])) { return; } $cookie_name = 'waitlist_referrer_id'; $cookie_value = $_GET['r'];

我正在为wordpress编写一个插件,该插件的第一步是将cookie设置为url param
?r=
的值(如果存在)

public function init_query_params() {
        if(!isset($_GET['r'])) {
            return;
        }

        $cookie_name = 'waitlist_referrer_id';
        $cookie_value = $_GET['r'];
        setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
    }
问题是即使参数确实存在,
$\u GET
也是空的。该参数在
$\u服务器['REQUEST\u URI']
中可见,但在
$\u服务器['QUERY\u STRING']
中不可见

这个问题只在这个特定客户机的staging/prod上存在,它在我的本地环境和另一个客户机prod环境中工作


目前,我只是从
REQUEST\u URI
中解析它,但我希望能够帮助您追踪真正的问题。

在您的插件或函数文件中添加以下代码

function add_query_vars_cb($aVars) {
$aVars[] = "r";
return $aVars;
}
add_filter('query_vars', 'add_query_vars_cb');
然后在要获取查询字符串变量值的页面上,您应该打印此对象

$objj = get_queried_object();
print_r($objj);
我想你会得到价值。
谢谢。

美元服务器['QUERY\u STRING']是否存在(有任何值)?此处是否涉及URL重写?尝试使用美元请求['r'],它包含所有POST GET和COOKIE的内容