У меня небольшая проблема с установкой файла cookie в моей установке WordPress.
Вот мой код:
function write_cookies() {
setcookie("category", get_query_var('cat'), time() + 3600 * 24, COOKIEPATH, '', false);
print($_COOKIE["category"]);
}
add_action('init', 'write_cookies');
Теоретически это должно вывести categoryId
, нокажется, ничего не работает.
Я прочитал это на localhost, предоставляя пустую строку, так как домен cookie работает, но я не могу получить какой-либо вывод.Я также пробовал 'localhost'
, '.localhost'
, '127.0.0.1'
, false
и NULL
в качестве домена.Константа COOKIEPATH
в настоящее время выводит '/'
Я читаю файлы cookie через Chrome, и, похоже, что на странице cookie нет изменений.
ОБНОВЛЕНИЕ:
Спасибо за ответы, я объясню, почему мне нужны куки в этом случае ...
В основном, на моих страницах сообщений я хочу показатьдругие посты в той же категории.Для тех, у кого несколько категорий, это означает сохранение маршрута, по которому пользователь прошел, чтобы попасть на пост.Я приведу пример из реальной жизни:
Пользователь перейдет от Home до News Industry, чтобы опубликовать статью под названием «Новое финансирование производственного сектора», которая оживит местных политиков.Теперь, в Других сообщениях для этого раздела, я хотел бы показать сообщения Промышленных новостей, но поскольку конкретный рассматриваемый пост настроен как в Промышленных новостях, так и в Политических Новостях, как я могу узнать, какой маршрут был выбран?
В первом случае это настроено на анализ wp_get_referer (), чтобы определить, какая категория была перед публикацией.Однако, если я затем использую этот раздел «Другие сообщения», чтобы перейти к сообщению, озаглавленному «Новые региональные разработки в производственном секторе», которое классифицируется как отраслевые новости и региональные новости, wp_get_referer возвращает предыдущее сообщение, а не категорию, как требуется в моей логике..
Мое решение состояло в том, чтобы (после посещения страницы категории) сохранить идентификатор категории и использовать его во всей будущей логике, чтобы определить правильную категорию для отображения в разделе «Другие сообщения».
Я знаю, что это сбивает с толку, но я ограничен как в дизайне, так и в потребностях клиента в доставке этого конкретного потока.
Как и предполагалось, я обновил свой код для отображения:
function write_cookies() {
setcookie("category", get_query_var('cat'), false, '/', str_replace('http://www','',get_bloginfo('url')));
print('test: '.$_COOKIE["category"]);
}
add_action('init', 'write_cookies');
Thisвыводит test:
без печенья.