Причём, помнят они их даже без регистраций и авторизаций. А почему вам на разных сайтах демонстрируется одна и та же таргетированная реклама — тоже не задумывались?
Никакой магии тут нет! Все выше перечисленные примеры строятся чаще всего с помощью cookies.
Cookie (куки) — это небольшие текстовые файлы, в которые браузер записывает данные с посещенных вами сайтов. Файлы cookie позволяют сайтам «запоминать» своих посетителей, например, чтобы каждый раз не переспрашивать их логин и пароль.
Сегодня я покажу некоторые примеры использования cookies в WordPress.
Пример 1
Установка cookies осуществляется с помощью стандартной PHP-функции setcookie(). Её синтаксис такой:
setcookie(name, value, expire, path, domain, secure, httponly);
Устанавливаем cookie и сохраняем в нём имя пользователя.
add_action( 'init', 'my_setcookie_example' ); function my_setcookie_example() { setcookie( $visitor_username, $username_value, 3 * DAYS_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN ); }
Получаем cookie и выводим из него имя пользователя.
if(!isset($_COOKIE[$visitor_username])) { echo "The cookie: '" . $visitor_username . "' is not set."; } else { echo "The cookie '" . $visitor_username . "' is set."; echo "Value of cookie: " . $_COOKIE[$visitor_username]; }
Удаляем из cookie информацию об имени пользователя. Например, через 15 минут.
unset( $_COOKIE[$visitor_username] ); setcookie( $visitor_username, '', time() - ( 15 * 60 ) );
Пример 2
Допустим, нам необходимо выяснить, посетитель впервые зашёл на сайт или уже был ранее. Для этого устанавливаем всем новым посетителям (за исключением админов) cookie. Код лучше всего установить в файл functions.php вашей активной темы:
function set_newuser_cookie() { if ( !is_admin() && !isset($_COOKIE['sitename_newvisitor'])) { setcookie( 'sitename_newvisitor', 1, time()+3600*24*100, COOKIEPATH, COOKIE_DOMAIN, false); } } add_action( 'init', 'set_newuser_cookie');
А саму проверку, например, непосредственно в том месте, где будет выводиться результат.
if (isset($_COOKIE['sitename_newvisitor'])) { echo 'С возвращением!'; } else { echo 'Приветствуем нового посетителя!'; }
Пожалуй, главным минусом cookies, является его привязка к браузеру. Если тот же самый пользователь зайдёт на сайт с другого браузера или другого компьютера, ранее установленный cookie не сработает. Вместо этого установится новый cookie.