首页 » 博文 » wpbeginner » 最佳教程 » 如何设置、获取和删除 WordPress Cookie(像专业人士一样)

如何设置、获取和删除 WordPress Cookie(像专业人士一样)

您想了解如何在 WordPress 网站上使用 cookie 吗?

Cookie 是在用户浏览器中存储临时信息的有用工具。您可以使用此信息通过个性化和行为定位来增强用户体验。

在本终极指南中,我们将向您展示如何像专业人士一样设置、获取和删除 WordPress cookie。

如何在 WordPress 中设置、获取和删除 cookie

注意:这是一个高级教程。它要求您精通 HTML、CSS、WordPress 网站和 PHP。

什么是 Cookie?

Cookie 是用户访问网站时创建并存储在用户浏览器中的纯文本文件。您可以使用 cookie 向您的WordPress 网站添加不同的功能。

以下是 cookie 的一些常见用例:

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

正如您所看到的,cookie 对于网站所有者来说是一个非常有用的工具,但也可能具有一定的侵入性。电子邮件营销增长黑客和在线营销的最新趋势使网站可以设置 cookie,充当信标,并可用于保存甚至跨网站共享用户活动。

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

您可以在我们的关于如何为 GDPR/CCPA 添加 cookie 弹出窗口的指南中了解如何在您自己的网站上执行此操作。

典型 WordPress 网站如何使用 Cookie

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

但是,您网站上的许多WordPress 插件也可能设置自己的 cookie。

例如,OptinMonster允许您向新访问者和回访者显示不同的电子邮件选择表单,它是通过使用 cookie 来实现的。

如果您在网站上使用外部网络服务,例如Google AnalyticsGoogle AdSense,那么他们也可能在您的网站上设置第三方 cookie。

您可以在浏览器设置中查看所有网站 cookie。例如,在 Google Chrome 中,您需要首先打开“设置”页面。

您可以通过单击右上角的“3 点”图标并选择“设置”或chrome://settings在地址栏中输入来完成此操作。

Google Chrome 中的内容设置

在“设置”页面上,您需要搜索“内容设置”。

在“内容设置”下,您需要点击“Cookies”。

Chrome 设置中的 Cookie 部分

这将打开 cookie 设置页面。

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

查看所有 cookie 和站点数据

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

您可以在搜索框中输入网站地址,然后您将看到该网站存储的数据。

查看网站cookies

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

如何在 WordPress 中设置 Cookie

要学习本教程,您需要将代码添加到主题的functions.php文件中或使用代码片段插件,例如WPCode。如果您以前没有这样做过,请查看我们关于如何在 WordPress 中复制和粘贴代码片段的指南。

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

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

现在,让我们向您的 WordPress 网站添加代码片段。此代码在 cookie 中存储用户访问您网站时的准确时间戳:

123456789101112functionwpb_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', $visit_time, time()+31556926);}}

WPCode与 ❤️ 主办

在 WordPress 中一键使用

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

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

现在我们已经创建了这个 cookie,它会在用户的浏览器中存储一年,让我们看看如何在我们的网站上使用这些信息。

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

1234567891011121314151617 号181920212223242526272829303132333435functionwpb_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 setfunctionvisitor_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 shortcodeadd_shortcode('greet_me', 'visitor_greeting');}add_action('init', 'wpb_cookies_tutorial2');

WPCode与 ❤️ 主办

在 WordPress 中一键使用

我们在代码中添加了注释,以向您展示每个部分的作用。此代码使用存储在 cookie 中的信息并使用短代码输出。

您现在可以在网站的任何位置添加短代码[greet_me],它将显示用户上次访问的时间。

请随意修改代码,使其对您的网站更有用。例如,您可以向回访用户显示最近的帖子,向新用户显示热门帖子

在 WordPress 中删除 Cookie

到目前为止,我们已经了解了如何设置 cookie 并稍后在您的网站上使用它。现在,让我们看看如何删除cookie。

要删除 cookie,您需要将以下行添加到代码中:

unset($_COOKIE['wpb_visit_time']);

WPCode与 ❤️ 主办

在 WordPress 中一键使用

不要忘记替换wpb_visit_time为您要删除的 cookie 的名称。

让我们使用上面使用的相同示例代码将此代码放在某些上下文中。这次,我们将删除 cookie 并使用新信息重新设置它:

1234567891011121314151617 号1819202122232425262728293031323334functionwpb_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 setfunctionvisitor_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');

WPCode与 ❤️ 主办

在 WordPress 中一键使用

正如您所看到的,一旦我们使用了其中存储的信息,此代码就会删除 cookie。随后,我们使用更新后的时间信息再次设置 cookie。

我们希望本文能帮助您了解如何轻松设置、获取和删除 WordPress cookie。您可能还想查看我们关于常见 WordPress 错误及其修复方法的指南,以及我们专家为 WordPress 用户精选的最佳分析解决方案

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top