You are here:  Home » PHP » 如何设置,获取和删除WordPress Cookies(如专业版)

您想学习如何在WordPress网站上使用cookies吗? Cookie是一种有用的工具,用于在用户的浏览器存储临时信息,然后使用此信息通过个性化和行为定位来增强用户体验。在这个终极指南中,我们将向您展示如何像专业人士一样设置,获取和删除WordPress cookie

How to set, get, and delete cookies in WordPress

注意:这是一个高级教程。它要求您熟练掌握HTML,CSS,WordPress站点和PHP。

什么是饼干?

Cookie是纯文本文件,在用户访问网站时创建并存储在用户浏览器中。 Cookie用于在网站上添加不同的功能。

以下是各种网站上cookie的一些常见用法。

  • 存储和管理用户的登录信息
  • 在用户访问期间存储临时会话信息
  • 电子商务商店在用户访问期间使用cookie记住购物车商品
  • 跟踪网站上的用户活动,以提供个性化的用户体验
  • 和更多

如您所见,cookie对于网站所有者来说是非常有用的工具,但它们也可能有点侵入性。电子邮件营销,增长黑客和整个在线营销的最新趋势允许网站设置充当信标的cookie,并且可用于存储甚至跨网站共享用户活动。

这就是欧盟颁布欧盟Cookie法的原因,该法要求网站所有者声明他们使用cookie来存储信息。

如何在典型的WordPress网站中使用Cookie

默认情况下,WordPress使用cookie来管理登录的用户会话和身份验证。如果用户填写评论表单,它还会使用Cookie记住用户的姓名和电子邮件地址。

但是,您网站上的许多WordPress插件也可能设置自己的cookie。例如,OptinMonster允许您向新访者和回访者显示不同的电子邮件表格,并通过使用Cookie来实现。

如果您在自己的网站上使用第三方服务,例如Google Analytics或Google AdSense,那么他们也可能会在您的网站上设置Cookie。

您可以在浏览器的设置中查看所有网站cookie。例如,在Google Chrome中,您需要转到设置并搜索“内容设置”。

Content settings in Google Chrome

在内容设置下,您需要单击“Cookies”以打开cookie设置页面。

Cookies section in Chrome settings

接下来,您需要单击“所有cookie和站点数据”选项。

View all cookies and site data

在下一页上,您将看到您访问过的所有网站存储在浏览器中的所有Cookie和网站数据的列表。

您可以在搜索框中键入网站地址,它将显示该网站存储的数据。

View site cookies

单击单个项目将显示有关各个cookie及其内容的更多详细信息。

如何在WordPress中设置Cookie

要学习本教程,您需要在主题的functions.php文件或特定于站点的插件中添加代码。如果您之前没有这样做,那么请查看我们的指南,了解如何在WordPress中复制和粘贴代码段。

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

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

现在让我们为您的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。你会发现一个名字的cookiewpb_visit_time

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

现在我们已经创建了这个存储在用户浏览器中1年的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。

我们希望本文能帮助您学习如何轻松设置,获取和删除WordPress cookie。您可能还希望查看WordPress函数文件的其他非常有用的技巧列表。