С помощью файлов cookie (куки) можно просто и элегантно выполнять такие действия, как отслеживание сеансов посетителей сайта, сохранение пользовательских настроек и сбор данных для вашего сайта. В сегодняшней статье мы рассмотрим все важные моменты, которые касаются файлов cookie: что это такое, где они используются и почему. Вы увидите на практике как вручную устанавливать, получать и удалять файлы cookie с вашего сайта на WordPress.
Хотя их используют практически все сайты в сети, средний пользователь, как правило, мало знает о том, что такое куки и как они используются. Давайте пройдемся по некоторым основам, чтобы прояснить это.
Cookie (куки) – это небольшой файл в браузере, который используется для хранения информации о взаимодействии пользователя с сайтом. Они обычно используются для постоянного хранения различных типов данных сеанса (сессии).
Сеанс (сессия) похож на цифровую идентификационную метку. Каждый раз, когда вы посещаете сайт, вам будет присвоена одна сессия на время посещения, и она будет использоваться для идентификации вас во время вашего пребывания на сайте. Сессии являются уникальными для пользователей.
По законодательству, сайты должны запрашивать у посетителей свое согласие перед установкой определенных типов файлов cookie.
Существует множество веских причин для хранения сеансов и файлов cookie, которые позволяют отслеживать поведение пользователя и сохранять важную информацию. Вот несколько из этих причин:
Куки бывают двух типов:
Если вы хотите узнать, сохраняет ли сайт cookie в вашем браузере, выполните следующую простую процедуру:
WordPress не использует сессии по умолчанию. Он сохраняет куки для аутентификации пользователя, когда он авторизуется на сайте. Здесь важно отметить, что сам движок WordPress не хранит сессии, но многие плагины или темы почти наверняка используют их.
Теперь перейдем к вопросу создания, извлечения и удаления файлов cookie вручную.
Для управления куками мы будем использовать файл функций активной темы (functions.php
).
Шаг №1. Установка (создание) файла куки
Чтобы установить куки в WordPress, вы должны передать значения, которые нужно сохранить. Например, если вы хотите сохранить имя пользователя посетителя вашего сайта, вы можете использовать этот пример кода в файле functions.php
активной темы:
<?php function setting_test_cookie() { setcookie( $user_name, $user_value, 30 * DAY_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN ); } add_action( 'init', 'setting_test_cookie' ); ?>
Переменная DAY_IN_SECONDS
содержит постоянное значение в WordPress, которое равно количеству секунд в дне. Обратите внимание, что значение времени установлено на 30 * DAY_IN_SECONDS
, что означает, что срок действия файла cookie истекает через 30 дней после создания. COOKIEPATH
определяет путь к вашему сайту, а COOKIE_DOMAIN
является доменом сайта – оба этих параметра задаются настройками вашего сайта (т.е., последние 2 значения можно не указывать).
После обновления страницы на сайте, вы увидите, что соответствующие куки были добавлены в браузер.
Шаг №2. Получение значения кук в WordPress
Чтобы получить cookie, которые мы создали ранее, мы будем использовать переменную $_COOKIE
. Эта переменная является глобальным ассоциативным массивом, в котором хранятся нужные нам данные.
Переменная $_COOKIE
содержит информацию обо всех файлах cookie, которые добавляются в браузер. Чтобы получить значение куки, нужно указывать идентификатор cookie для этой переменной. Идентификатор, который мы будем использовать – это имя, которое мы дали файлу cookie на шаге №1 ($user_name
). Вот пример кода:
<?php if(isset($_COOKIE[$user_name])) { echo "Куки для '" . $user_name . "' установлены"; echo "Значение этой куки следующее: " . $_COOKIE[$user_name]; } else { echo "Куки для: '" . $user_name . "' не установлены"; } ?>
Прежде чем мы передадим идентификатор куки в переменную $_COOKIE
, мы должны убедиться, что этот куки-файл существует. Проверку мы выполняем с помощью функции isset()
, которая возвращает TRUE
, если cookie был установлен, и FALSE
в противном случае.
Шаг №3. Удаление куки в WordPress
Если вам будет нужно удалить файлы cookie со своего сайта, воспользуйтесь следующей заготовкой кода:
<?php unset( $_COOKIE[$user_name] ); setcookie( $user_name, '', time() - 3600 ); ?>
Чтобы удалить значение, которое cookie содержит в ассоциативном массиве, мы используем функцию unset()
. После этого мы принудительно указываем прошедший срок действия куки-файла, установив для его переменной нулевое значение (''
) и передав отметку времени, которая была в прошлом (time() - 3600
). Этот код удалит ваш файл cookie.
Файлы куки – это важная часть функционирования сайтов в сети Интернет, и даже если вы никогда не будете их использовать на своем сайте, полезно знать, как они работают.
В сегодняшней статье мы основательно рассмотрели, что такое куки и для чего они нужны. Также были рассмотрены практические примеры кода для создания, получения значения куки, а также их удаления с сайта на WordPress. Надеемся, что этот урок поможет вам при более глубоком изучении работы файлов cookie и управлении сессиями.
Выбор мастера для ремонта и перетяжки мебели — задача, которая требует вдумчивого подхода. Ведь от…
Выбор идеального хостинга под свой сайт может быть довольно запутанным делом, особенно когда существует так…
Чтобы избегать ошибок, нужно набираться опыта; чтобы набираться опыта, надо делать ошибки Лоуренс Питер
Краткое определение Черного SEO Черное СЕО (или Черная оптимизация) — это любая практика, целью которой…
Получение водительских прав категории C открывает двери к профессиональной деятельности, связанной с управлением грузовыми автомобилями.…
View Comments
Как установить cookie не через файл function.php? А в любом другом месте где я хочу...