【问题标题】:WP error when setting cookie设置cookie时出现WP错误
【发布时间】:2014-01-04 06:52:46
【问题描述】:

尝试在 WP 页面上设置 cookie 时出现此错误。

Warning: Cannot modify header information - headers already sent by(...)

这里有什么帮助吗?当我在 wordpress 之外执行 php 时,它运行良好,但是当我将它移入时,它坏了。 cookie 没什么特别的(非常基本)。

那么如何设置 cookie?

【问题讨论】:

    标签: wordpress session cookies


    【解决方案1】:

    您需要在将任何输出发送到浏览器之前设置 cookie。在您主题的 functions.php 文件中,添加以下挂钩:

    add_action('init', 'my_cookies');
    function my_cookies(){
        // set cookie here
    }
    

    init 挂钩在您的模板文件(header.php 等)被包含之前运行。如果您尝试将 cookie 代码放入 index.phpsingle.php 或任何模板文件中,您必须确保它在 get_header() 之前。一旦get_header()运行,你已经向浏览器发送了数据,你不能修改标题(这是修改cookie所必需的)。

    您可能在 cookie 代码之前的代码中的其他地方泄漏了输出。如果您甚至在 cookie 代码之前的某处回显一个空格:echo " ",您将收到该错误。如果您的一个文件中有一个结束 php 标记 ?> 后面有一个空格,则会将其发送到浏览器,您将收到该错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-07
      • 2015-03-19
      • 2017-06-23
      • 2018-04-26
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多