setcookie no funciona cuando se define con '/' pero funciona si no se define
Tengo un problema muy extraño. Tengo este código en mi functions.php. Seguí las instrucciones y coloqué este código en el functions.php que estaba disponible en la carpeta de mi tema en wp-content/themes/u-design/functions.php. Para referencia, mi tema es u-design.
add_action('init', 'setmyCookie');
function setmyCookie(){
//if(!isset($_COOKIE['myCookie'])){
setcookie('myCookie', $_GET['test'], time() + 63072000, '/');
//}
}
Lo que hace este código es obtener el valor de una cadena de consulta y colocar ese valor en una cookie, por ejemplo:
www.misitio.com/?test=prueba
Sin embargo, no funciona. Pero cuando cambio el código a:
add_action('init', 'setmyCookie');
function setmyCookie(){
//if(!isset($_COOKIE['myCookie'])){
setcookie('myCookie', $_GET['test'], time() + 63072000);
//}
}
¡La cookie se establece! ¿Por qué está pasando esto?
Actualmente, con el segundo método, aunque la cookie se establece, no puedo usarla ya que $_cookie['test'] no devuelve el valor de la cookie. Según lo que investigué, esto se debe a que la cookie solo se establece en la ruta actual. Para usar $_cookie['myCookie'], debes configurar la cookie para que esté disponible en todo el dominio. Sin embargo, si hago eso, como en el primer método, ¡la cookie no se establece en absoluto!
¿Alguien sabe por qué está pasando esto y cómo solucionarlo? Gracias.
