跳到主要内容

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 Cookies
如何设置,获取和删除wordpress Cookies

如何在WordPress中设置Cookie

要遵循本教程,您需要将代码添加到主题的functions.php文件或特定站点的插件中。如果您以前没有做过,请查看我们的指南,了解如何在WordPress中复制和粘贴代码段

首先,我们将使用PHP中setcookie()函数。该函数接受以下参数。

  • Cookie名称
  • Cookie值
  • 过期(可选:设置Cookie过期的时间段)
  • 路径(可选,默认情况下,它将使用网站的根目录)
  • 域(可选,默认情况下使用您网站的域)
  • 安全(可选,如果为true,则仅通过HTTPS传输cookie数据)
  • httponly(可选,当设置为true时,只能通过HTTP访问cookie,并且不能被脚本使用)

现在,让我们向您的WordPress网站添加代码段。当用户访问Cookie时,该代码存储了确切的时间戳。

functionwpb_cookies_tutorial1() {
$visit_time= date('F j, Y  g:i a');
if(!isset($_COOKIE[$wpb_visit_time])) {
// set a cookie for 1 yearsetcookie('wpb_visit_time', $current_time, time()+31556926);
}
}

现在,您可以访问您的网站,然后检查浏览器cookie。您会发现一个名为的Cookie wpb_visit_time

如何获取Cookie并在WordPress中使用它

现在,我们已经创建了该cookie,并将其存储在用户的浏览器中一年了,让我们来看看如何在我们的网站上使用此信息。

如果您知道Cookie的名称,则可以使用$ _COOKIE []变量轻松地在PHP中的任何位置调用它。让我们添加一些代码,这些代码不仅可以设置Cookie,还可以使用它在您的网站上执行某些操作。

functionwpb_cookies_tutorial2() { // Time of user's visit$visit_time= date('F j, Y g:i a');
// Check if cookie is already setif(isset($_COOKIE['wpb_visit_time'])) {
// Do this if cookie is set functionvisitor_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 existfunctionvisitor_greeting() { $string.= 'New here? Check out these resources...';return$string;}  
// Set the cookiesetcookie('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,并使用新信息再次对其进行设置。

functionwpb_cookies_tutorial2() { // Time of user's visit$visit_time= date('F j, Y g:i a');
// Check if cookie is already setif(isset($_COOKIE['wpb_visit_time'])) {
// Do this if cookie is set functionvisitor_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 timeunset($_COOKIE['wpb_visit_time']);
return$string;}  
} else{ // Do this if the cookie doesn't existfunctionvisitor_greeting() { $string.= 'New here? Check out these resources...';return$string;}   }add_shortcode('greet_me', 'visitor_greeting');
// Set or Reset the cookiesetcookie('wpb_visit_time'$visit_time, time()+31556926);} add_action('init', 'wpb_cookies_tutorial2');

如您所见,一旦我们使用了存储在其中的信息,此代码将删除cookie。稍后,我们使用更新的时间信息再次设置cookie。

回到顶部