functions.php のフックを使用して wordpress で Cookie を設定しようとしていますが、Cookie の値が空になります。URL ($_GET) から値を取得する Cookie を設定するにはどうすればよいですか?
(編集) この Cookie を特定のページに設定する必要があるだけなので、if ステートメントでラップしました。Cookie が正しく設定されるようになりました。しかし、別のページに移動して Cookie を取得しようとすると、もう設定されていません! なぜこれが起こっているのでしょうか?
(編集2)Cookieパスを「/」に設定してこれを修正しました。
function set_cookie(){
if(is_page('hotel')){
$destinationType = 'city'; //'city';
$destinationCode = $_GET["dcode"]; //'lon';
$checkinDate = $_GET["date_in"]; //date('2013-08-05'); // '2006-05-10';
$checkoutDate = $_GET["date_out"];
$date1 = strtotime($checkinDate);
$date2 = strtotime($checkoutDate);
$datediff = $date2 - $date1;
$duration = floor($datediff / (60 * 60 * 24));
//Create Search Object
$search = array();
$search[0] = $destinationType;
$search[1] = $destinationCode;
$search[2] = $checkinDate;
$search[3] = $checkoutDate;
$search[4] = $duration;
//Create Rooms Object
$packages = array();
$npack = intval($_GET['numpack']);
for ($j = 0; $j < $npack; $j++) {
$packages[$j][0] = $_GET['rtype' . ($j + 1)];
$packages[$j][1] = 1; //$_GET['nroom' . ($j + 1)];
$packages[$j][2] = $_GET['cot' . ($j + 1)];
if ($packages[$j][2] == null) {
$packages[$j][2] = '0';
}
for ($k = 0; $k < intval($_GET['children' . ($j + 1)]); $k++) {
$packages[$j][3][$k] = $_GET['achild' . ($j + 1) . '_' . ($k + 1)];
}
}
//Complete Search Object to cookie
$searchObject = array($search, $packages);
setcookie('searchobject', json_encode($searchObject), time() + 3600, "/");
}
}
add_action('get_header', 'set_cookie');