Php Wordpress插件问题,$\u GET未返回值
我正在为wordpress编写一个插件,该插件的第一步是将cookie设置为url paramPhp 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'];
?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的内容