setcookie non funziona quando definito con '/' ma funziona se non definito
Ho un problema molto strano. Ho questo codice nel mio functions.php. Ho seguito le istruzioni e ho inserito questo codice nel functions.php disponibile nella cartella del mio tema in wp-content/themes/u-design/functions.php. Per riferimento, il mio tema è u-design.
add_action('init', 'setmyCookie');
function setmyCookie(){
//if(!isset($_COOKIE['myCookie'])){
setcookie('myCookie', $_GET['test'], time() + 63072000, '/');
//}
}
Quindi quello che fa è prendere il valore da una query string e inserire quel valore in un cookie, ad esempio
www.miosito.com/?test=test
Tuttavia, non funziona. Ma quando cambio il codice in
add_action('init', 'setmyCookie');
function setmyCookie(){
//if(!isset($_COOKIE['myCookie'])){
setcookie('myCookie', $_GET['test'], time() + 63072000);
//}
}
Il cookie viene impostato! Perché succede questo?
Attualmente, con il secondo metodo, anche se il cookie viene impostato, non riesco a usarlo perché $_cookie['test'] non restituisce il valore nel cookie. Da quello che ho cercato su Google, questo accade perché il cookie viene impostato solo nel percorso corrente. Per usare $_cookie['myCookie'], devi impostare il cookie in modo che sia disponibile in tutto il dominio. Tuttavia, se lo faccio, come nel primo metodo, il cookie non viene impostato affatto!
Qualcuno sa perché succede questo e come risolverlo? Grazie.
