尝试在WP页面上设置cookie时出现此错误。
Warning: Cannot modify header information - headers already sent by(...)
这里有什么帮助吗?当我在wordpress之外做php时它工作正常,但是当我移动它时,它就破坏了。关于cookie没什么特别的(非常基本的)。
那么如何设置cookie?
答案 0 :(得分:0)
您需要在将任何输出发送到浏览器之前设置cookie。在主题的functions.php
文件中,添加以下钩子:
add_action('init', 'my_cookies');
function my_cookies(){
// set cookie here
}
init
挂钩在包含模板文件(header.php
等)之前运行。如果您尝试将Cookie代码放在index.php
或single.php
或任何模板文件中,则必须确保它在get_header()
之前。运行get_header()
后,您已经将数据发送到浏览器,并且无法修改标头(这是修改Cookie所必需的)。
在cookie代码之前,您可能会在代码中的其他位置泄漏输出。如果您甚至在cookie代码之前的某个地方回显了一个空格:echo " "
,那么您将收到该错误。如果你的某个文件中有一个关闭的php标记?>
后面有一个空格,那么这会被发送到浏览器,你就会收到错误。