Как я могу установить, получить и уничтожить куки в WordPress?
Я занимался серфингом в Интернете, но я не могу получить четкие идеи, пожалуйста, помогите мне найти, как это сделать.
Вы можете загружать и обрабатывать файлы cookie на стороне сервера с помощью PHP или на стороне клиента, используя JavaScript.
В PHP вы устанавливаете файлы cookie с помощью setcookie()
. Обратите внимание, что это должно быть сделано до того, как какой-либо вывод будет отправлен в браузер, что может быть довольно сложной задачей в WordPress. Вы в значительной степени ограничены некоторыми ранними запусками, которые вы можете установить через плагин или файл темы (например, functions.php
), например
add_action('init', function() { if (!isset($_COOKIE['my_cookie'])) { setcookie('my_cookie', 'some default value', strtotime('+1 day')); } });
Получение файлов cookie в PHP намного проще. Просто $_COOKIE
их по имени из $_COOKIE
, например
$cookieValue = $_COOKIE['my_cookie'];
Отключение cookie требует установки с датой истечения срока в прошлом, что-то вроде
setcookie('my_cookie', null, strtotime('-1 day'));
Для JavaScript я бы рекомендовал взглянуть на один из плагинов jQuery cookie (видя, что jQuery уже является частью WordPress). Попробуйте http://plugins.jquery.com/project/Cookie
Попробуйте этот код внутри function.php, чтобы играть с Cookies в wordpress
Установите Cookie в wordpress
add_action( 'init', 'my_setcookie' ); function my_setcookie() { setcookie( 'my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN ); }
Получите Cookie в wordpress
add_action( 'wp_head', 'my_getcookie' ); function my_getcookie() { $alert = isset( $_COOKIE['my-name'] ) ? $_COOKIE['my-name'] : 'not set'; echo "<script type='text/javascript'>alert('$alert')</script>"; }
Удаление или удаление cookie в wordpress
add_action( 'init', 'my_deletecookie' ); function my_deletecookie() { setcookie( 'my-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN ); }