Php 在本地主机上的WordPress中设置Cookie
我在WordPress安装中设置cookie时遇到了一些问题 这是我的密码:Php 在本地主机上的WordPress中设置Cookie,php,wordpress,setcookie,Php,Wordpress,Setcookie,我在WordPress安装中设置cookie时遇到了一些问题 这是我的密码: function write_cookies() { setcookie("category", get_query_var('cat'), time() + 3600 * 24, COOKIEPATH, '', false); print($_COOKIE["category"]); } add_action('init', 'write_cookies'); 理论上,这应该输出类别ID,但似乎没有
function write_cookies() {
setcookie("category", get_query_var('cat'), time() + 3600 * 24, COOKIEPATH, '', false);
print($_COOKIE["category"]);
}
add_action('init', 'write_cookies');
理论上,这应该输出类别ID
,但似乎没有任何效果
我是在localhost上读到的,在cookie域工作时提供了一个空白字符串,但我无法获得任何类型的输出。我还尝试将'localhost'
,'.localhost'
,'127.0.0.1'
,false
和NULL
作为域。COOKIEPATH
常量当前输出'/'
我正在通过Chrome阅读cookies,页面上的cookies似乎没有任何变化
更新:
谢谢你迄今为止的答案,我会解释为什么我需要饼干在这种情况下
基本上,在我的帖子页面上,我希望显示相同类别的其他帖子。对于具有多个类别的用户,这意味着存储用户到达帖子的路线。我将给出一个真实世界的例子:
用户将在家中浏览行业新闻,发布标题为“为制造业提供新资金重振地方政界”。现在,在本节的其他帖子中,我想展示行业新闻帖子,但由于所讨论的特定帖子是在行业新闻和政治新闻下设立的,我如何判断采取了哪条路线
在第一个例子中,这是为了分析wp_get_referer()来确定哪个类别出现在帖子之前。但是,如果我随后使用“其他帖子”部分转到一篇题为“制造业新的区域发展”的帖子,该帖子被归类为行业新闻和区域新闻,那么wp_get_referer将返回上一篇帖子,而不是我逻辑中要求的类别
我的解决方案是(在访问类别页面时)存储类别的id,并在将来的所有逻辑中使用该id来确定要在其他帖子部分中显示的正确类别
令人困惑,我知道,但我在设计和客户需求方面都受到限制,无法提供这种特定的流程
根据建议,我已更新代码以显示:
function write_cookies() {
setcookie("category", get_query_var('cat'), false, '/', str_replace('http://www','',get_bloginfo('url')));
print('test: '.$_COOKIE["category"]);
}
add_action('init', 'write_cookies');
这将在不打印cookie的情况下输出
test:
。我会让wordpress使用类似于:stru-replace(stru-replace”)的内容为我找出合适的域http://www“,”,获取博客信息(“url”)
。如果wordpress的默认类别不够的话
一般来说,使用Wordpress默认类别和标记结构比使用原始Cookie要好得多。那么为什么你还需要一块饼干呢?Chrome有一个已知的限制
您无法设置/访问Cookie。Chrome中的奇怪问题。我在非WordPress安装上测试了各种Cookie域,发现在本地主机环境中,唯一成功设置变量的域是'
,即空字符串
这是我现在的代码:
function write_cookies() {
setcookie("category", get_query_var('cat'), false, '/', '',false);
}
我还对其进行了调整,使其从post循环中调用,而不是从“init”事件中调用,这使我能够访问比init事件多得多的变量来设置到cookie中。我不知道这一点。但是再一次,内置的分类不起作用吗?+1指出了错误。但是,打印($_COOKIE[“category”])代码>在其他浏览器中也不起任何作用。请查看我的更新以了解“为什么”的解释。这令人困惑。