Как я могу установить, получить и уничтожить файлы cookie в Wordpress?
Я занимался серфингом в Интернете, но я не могу получить четкие идеи, пожалуйста, помогите мне найти, как.
Как я могу установить, получить и уничтожить файлы cookie в 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
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
Попробуйте этот код внутри функции 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 );
}