【问题标题】:Warning: headers already sent by on cookie set in wordpress [duplicate]警告:已在 wordpress 中设置的 cookie 上发送标头 [重复]
【发布时间】:2015-01-24 19:19:14
【问题描述】:

我是第一次做饼干。我在 header.php 中的 HTML 顶部设置了我的 cookie,并成功创建了 cookie

<?php
     $haystack = "http://".$_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     $needle = "/shop/?filter_results=true&widget_search=true&";

     if(strpos($haystack, $needle)){
          setcookie("link", $haystack);
     } else {
          if(strpos($haystack, "/shop/?filter_results=true&widget_search=true")){
               setcookie("link",NULL);
          }
     }
?>
<!DOCTYPE html>
<html>

但是当我在&lt;head&gt;标签中添加我的cookie时,浏览器给了我

Warning: headers already sent by ......

我也尝试通过wp_head 钩子添加此代码,但它不起作用。

请帮助我如何在 head 标签中设置我的 cookie。

【问题讨论】:

  • 你不能... headers already sent 属于 PHP 标头,&lt;head&gt; 属于 HTML 标头。这是两件不同的事情...只要您输出 HTML,PHP 标头就会被发送...
  • @mevius 阅读问题;它不是重复的
  • @RichardBernards 那么解决方案是什么.....
  • 以正确的方式在代码中...尝试谷歌搜索...第一个结果:wptheming.com/2011/04/set-a-cookie-in-wordpress
  • 我什么都不担心。我只是标记它,以便您阅读该链接。很抱歉试图提供帮助。

标签: php wordpress cookies


【解决方案1】:

请使用 ob_start();页面顶部的功能,并通过此查看此错误的原因 How to fix "Headers already sent" error in PHP

【讨论】:

  • 这不是解决 OP 问题的好方法。阅读问题,您就知道他不懂标题。
猜你喜欢
  • 1970-01-01
  • 2014-06-24
  • 2010-10-11
  • 1970-01-01
  • 2011-01-15
  • 2017-08-29
  • 1970-01-01
  • 2011-05-09
相关资源
最近更新 更多