博客现在在互联网上非常流行。每个人都阅读博客——因为有很多可…
Cookies是一种有用的工具,可以将临时信息存储在用户的浏览器中,然后使用此信息通过个性化和行为定向来增强用户体验。在本最终指南中,我们将向您展示如何像pro一样设置,获取和删除WordPress cookie。
注意:这是高级教程。它要求您精通HTML,CSS,WordPress网站和PHP。
什么是饼干?
Cookies是纯文本文件,它们是在用户访问网站时创建并存储在用户浏览器中的。Cookies用于在网站上添加不同的功能。
以下是各种网站上Cookie的一些常见用法。
- 存储和管理用户的登录信息
- 在用户访问期间存储临时会话信息
- 电子商务商店使用Cookie来记住用户访问期间的购物车商品
- 跟踪网站上的用户活动以提供个性化的用户体验
- 和更多
如您所见,Cookie对网站所有者而言是非常有用的工具,但它们也可能具有侵入性。电子邮件营销,增长黑客和在线营销整体上的最新趋势使网站可以设置充当信标的cookie,并可以用来存储甚至在网站之间共享用户活动。
这就是欧盟颁布《欧盟Cookie法》的原因,该法要求网站所有者声明他们使用Cookie来存储信息。
在典型的WordPress网站中如何使用Cookies
默认情况下,WordPress使用cookie来管理登录的用户会话和身份验证。如果用户填写了评论表格,它还会使用Cookie记住用户的姓名和电子邮件地址。
但是,您网站上的许多WordPress插件也可能会设置自己的Cookie。例如,OptinMonster允许您向新访客和回访者显示不同的电子邮件选择形式,并且使用Cookie来做到这一点。
如果您在网站上使用诸如Google Analytics(分析)或Google AdSense之类的第三方服务,那么它们也可能在您的网站上设置cookie。
您可以在浏览器的设置中查看所有网站cookie。例如,在Google Chrome浏览器中,您需要转到设置并搜索“内容设置”。
在内容设置下,您需要点击“ Cookies”以打开Cookie设置页面。
接下来,您需要点击“所有cookie和网站数据”选项。
在下一页上,您将看到访问的所有网站存储在浏览器中的所有cookie和站点数据的列表。
您可以在搜索框中输入网站地址,它会向您显示该网站存储的数据。
单击单个项目将为您显示有关单个cookie及其内容的更多详细信息。
如何在WordPress中设置Cookie
要遵循本教程,您需要将代码添加到主题的functions.php文件或特定于站点的插件中。如果您以前没有做过,请查看我们的指南,了解如何在WordPress中复制和粘贴代码段。
首先,我们将使用PHP中的setcookie()
函数。该函数接受以下参数。
- Cookie名称
- Cookie值
- 过期(可选:设置Cookie过期的时间段)
- 路径(可选,默认情况下,它将使用网站的根目录)
- 域(可选,默认情况下使用您网站的域)
- 安全(可选,如果为true,则仅通过HTTPS传输cookie数据)
- httponly(可选,当设置为true时,只能通过HTTP访问cookie,并且不能被脚本使用)
现在,让我们向您的WordPress网站添加代码段。当用户访问Cookie时,该代码存储了确切的时间戳。
function
wpb_cookies_tutorial1() {
$visit_time
=
date
(
'F j, Y g:i a'
);
if
(!isset(
$_COOKIE
[
$wpb_visit_time
])) {
// set a cookie for 1 year
setcookie(
'wpb_visit_time'
,
$current_time
, time()+31556926);
}
}
现在,您可以访问您的网站,然后检查浏览器cookie。您会发现一个名为的Cookie wpb_visit_time
。
如何获取Cookie并在WordPress中使用它
现在,我们已经创建了该cookie,并将其存储在用户的浏览器中一年了,让我们来看看如何在我们的网站上使用此信息。
如果您知道Cookie的名称,则可以使用$ _COOKIE []变量轻松地在PHP中的任何位置调用它。让我们添加一些代码,这些代码不仅可以设置Cookie,还可以使用它在您的网站上执行某些操作。
function
wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time
=
date
(
'F j, Y g:i a'
);
// Check if cookie is already set
if
(isset(
$_COOKIE
[
'wpb_visit_time'
])) {
// Do this if cookie is set
function
visitor_greeting() {
// Use information stored in the cookie
$lastvisit
=
$_COOKIE
[
'wpb_visit_time'
];
$string
.=
'You last visited our website '
.
$lastvisit
.
'. Check out whats new'
;
return
$string
;
}
}
else
{
// Do this if the cookie doesn't exist
function
visitor_greeting() {
$string
.=
'New here? Check out these resources...'
;
return
$string
;
}
// Set the cookie
setcookie(
'wpb_visit_time'
,
$visit_time
, time()+31556926);
}
// Add a shortcode
add_shortcode(
'greet_me'
,
'visitor_greeting'
);
}
add_action(
'init'
,
'wpb_cookies_tutorial2'
);
我们对代码进行了注释,以向您展示每个部分的功能。该代码使用存储在cookie中的信息,并使用简码输出该信息。现在,您可以在网站上的任何位置添加简码[greet_me],它将显示用户上次访问的时间。
随意修改代码,使其对您的网站更有用。例如,您可以向回头用户显示最近的帖子,向新用户显示热门帖子。
在WordPress中删除Cookie
到目前为止,我们已经学习了如何设置cookie并稍后在您的网站中使用它。现在让我们看一下如何删除cookie。
要删除Cookie,您需要在代码中添加以下行。
unset(
$_COOKIE
[
'wpb_visit_time'
]);
不要忘记将wpb_visit_time替换为您要删除的Cookie的名称。
让我们使用上面使用的相同示例代码将此代码放在某些上下文中。这次,我们将删除cookie,并使用新信息再次对其进行设置。
function
wpb_cookies_tutorial2() {
// Time of user's visit
$visit_time
=
date
(
'F j, Y g:i a'
);
// Check if cookie is already set
if
(isset(
$_COOKIE
[
'wpb_visit_time'
])) {
// Do this if cookie is set
function
visitor_greeting() {
// Use information stored in the cookie
$lastvisit
=
$_COOKIE
[
'wpb_visit_time'
];
$string
.=
'You last visited our website '
.
$lastvisit
.
'. Check out whats new'
;
// Delete the old cookie so that we can set it again with updated time
unset(
$_COOKIE
[
'wpb_visit_time'
]);
return
$string
;
}
}
else
{
// Do this if the cookie doesn't exist
function
visitor_greeting() {
$string
.=
'New here? Check out these resources...'
;
return
$string
;
}
}
add_shortcode(
'greet_me'
,
'visitor_greeting'
);
// Set or Reset the cookie
setcookie(
'wpb_visit_time'
,
$visit_time
, time()+31556926);
}
add_action(
'init'
,
'wpb_cookies_tutorial2'
);
如您所见,一旦我们使用了存储在其中的信息,此代码将删除cookie。稍后,我们使用更新的时间信息再次设置cookie。