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 に答える