我正在为wordpress编写插件,该插件的第一步是将cookie设置为url参数?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), "/");
}
问题是即使参数确实存在,$_GET
也为空。该参数在$_SERVER['REQUEST_URI']
中可见,但在$_SERVER['QUERY_STRING']
中不可见。
此问题仅在此特定客户端的暂存/产品上仍然存在,它在我的本地环境和另一个客户端产品环境中有效。
目前,我只是从REQUEST_URI
进行解析,但希望能帮助您找到真正的问题。
答案 0 :(得分:0)
在插件或功能文件中添加以下代码。
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);
我认为您将获得价值。 谢谢。