在主题header.php中设置cookie基于页面 - wordpress

时间:2012-05-16 19:00:28

标签: php wordpress cookies wordpress-theming setcookie

我正在尝试在我的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" />
   <? }
  }
}
?>

1 个答案:

答案 0 :(得分:2)

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