1

我正在尝试在我的 wordpress 主题 header.php 文件中设置一个 cookie。

我找到了一些关于此的信息,但似乎都使用了 functions.php 文件,这对我来说并不是一个真正的选择,因为我正在根据页面设置 cookie。

我只是想知道我该怎么做,或者可能的解决方法是什么。

这是我的 header.php 文件中的代码。

<?
// Set cookie
if (is_page('437')) {
  setcookie("DM", "mis", time()+31536000);
} else if (is_page('441')) {
  setcookie("DM", "w2p", time()+31536000);
}

echo $_COOKIE["DM"];
print_r($_COOKIE);

// Check cookie to load style
if (!is_front_page()){ 
  if (isset($_COOKIE["DM"])) {
    if ($_COOKIE["DM"] == "mis") { ?>
      <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo('template_directory'); ?>/css/mis.css" />
  <? } else if ($_COOKIE["DM"] == "w2p") { ?>
      <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo('template_directory'); ?>/css/w2p.css" />
   <? }
  }
}
?>
4

1 回答 1

2

设置 cookie,将其排队发送到客户端,但不会将其添加到 $_COOKIE 数组中。我相信 $_COOKIE 数组仅在初始请求时构造和填充一次。您想要访问的任何 cookie 都会发送到客户端,并在下一页的以下请求中发回,然后可用。

于 2012-05-16T19:03:53.550 回答