Как я могу установить, получить и уничтожить куки в Wordpress?

Как я могу установить, получить и уничтожить файлы cookie в Wordpress?

Я занимался серфингом в Интернете, но я не могу получить четкие идеи, пожалуйста, помогите мне найти, как.

Ответы

Ответ 1

Вы можете загружать и обрабатывать файлы 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 super global, например

$cookieValue = $_COOKIE['my_cookie'];

Отключение cookie требует установки с датой истечения срока в прошлом, что-то вроде

setcookie('my_cookie', null, strtotime('-1 day'));

Для JavaScript я бы рекомендовал взглянуть на один из плагинов jQuery cookie (видя, что jQuery уже является частью Wordpress). Попробуйте http://plugins.jquery.com/project/Cookie

Ответ 2

Попробуйте этот код внутри функции function.php, чтобы играть с Cookies в wordpress

Установить cookie в wordpress

add_action( 'init', 'my_setcookie' );
function my_setcookie() {
setcookie( 'my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN   );
}

Получить куки файл в 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 );
}