Я пытаюсь добавить URL-адрес текущей страницы в файл cookie, который называется «$ seenPages». Для справки, функция Wordpress 'get_permalink ()' возвращает URL.
В приведенном ниже примере var_dump возвращает значение false. Принимая во внимание, что если я заменяю get_permalink () в строке 2 на get_the_ID (), которая возвращает целочисленные идентификаторы страницы, все это прекрасно работает.
Я попытался удалить специальные символы из URL, но он по-прежнему возвращает «ложь», поэтому я подозреваю, что эта проблема связана с декодированием строк из файла cookie.
// define the new value to add to the cookie
$currentPage = get_the_permalink(get_the_ID());
// if the cookie exists, read it and unserialize it. If not, create a blank array
if(isset($_COOKIE['visitedPages'])) {
$visitedPagesSerialised = $_COOKIE['visitedPages'];
$visitedPages = unserialize($visitedPagesSerialised)
var_dump($visitedPages);
} else {
$visitedPages = array();
}
// add the current page id to the array and serialize
$visitedPages[] = $currentPage;
$newCookieSerialized = serialize($visitedPages);
// save the cookie for 30 days
setcookie('visitedPages', $newCookieSerialized, time() + (86400 * 30), "/");
?>