如何将数字(来自Cookie)存储到查询变量中,以便以后在其他过滤器中使用?

时间:2016-05-19 作者:Alexander Farber

我有一个可以在不同社交网络上玩的HTML5小游戏(如“画布”),它设置了一个HTTP cookie。

当玩家访问我的WordPress网站(作为游戏的帮助和支持网站)时,我可以使用我的自定义方法从cookie中获取她的id(并验证其是否伪造,方法是计算哈希并从数据库中获取):

$my_id = fetchCookie();
My question: 如何只解析cookie一次,然后传递用户id?

functions.php 我放置的我的孩子主题文件:

add_filter( \'query_vars\',\'my_insert_query_vars\' );

function my_insert_query_vars( $vars )
{
    array_push( $vars, \'my_id\' );
    return $vars;
}
并计划打电话get_query_var( \'my_id\', 0 ) 当同一文件中的其他筛选器需要用户id时。

但我应该在哪里以及如何设置该变量?

In other words: 打电话到哪里$my_id = fetchCookie() 如何将返回的值存储到“查询变量”中?

1 个回复
最合适的回答,由SO网友:cjbj 整理而成

cookie存储在用户的计算机上。该页面是在服务器上生成的。无论如何,当用户单击链接获取第二个页面时,您必须确保cookie被传输回服务器。

这方面的工具是javascript。您必须发送一个脚本,该脚本包含读取cookie并将cookie内容添加为query_var 指向任何内部链接,因此当单击该链接时query_var 发送到服务器。

制作脚本以读取cookie。我相信你已经做到了。

在主题中,确保all internal links have a class您可以使用它触发一个脚本,该脚本将依次触发Cookie脚本和add the query_var to the url.

我意识到这个答案在代码方面是不完整的,但我希望你能理解。

相关推荐

Hiding menu on specific pages

我在某些页面上隐藏顶部菜单时遇到问题。以下是我试图隐藏菜单的网站https://domain.com/cookies-statement/ https://domain.com/privacy-policy/ 看来,来自其他线程的解决方案对我不起作用(或者我做错了什么),请告诉我这是否可能与我的主题一起实现谢谢