建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

Cookies 和 WordPress:如何设置、获取和删除

GG网络技术分享 2025-03-18 16:05 19


每个人都喜欢偶尔离线使用一个(或两个)cookie,但它们在全球站点中的虚拟使用通常是一个令人困惑的话题。

Cookie 提供了一种简单而优雅的解决方案,可以在访问者浏览时为他们维护会话、存储用户偏好和为您的站点收集数据。

在本文中,我们将介绍您需要了解的有关 cookie 的所有信息:它们是什么、在哪里使用以及我们为什么使用它们(而不是食用它们)。

我还将解释为什么我们需要能够在 WordPress 中使用 cookie,并且我们将完成如何从您的 WordPress 站点手动设置、获取和删除 cookie。

让我们得到 吃零食 开裂!

以下是我们今天要介绍的内容:

  • Cookie 解释

    • 什么是 Cookie?
    • 什么是会话?
    • 为什么要使用 Cookie 和维护会话?
    • Cookie 的类型
    • 管理 Cookie 使用的法律
    • 我的网站是否使用 Cookie?
  • 为什么我们在 WordPress 中需要 Cookie?
  • WordPress 中的 Cookie 操作

    • 如何设置 Cookie
    • 如何获取 Cookie
    • 如何删除 Cookie

Cookie 解释

尽管它们的使用在网络上几乎无处不在,但普通用户往往对 cookie 是什么以及它们的使用方式知之甚少。 让我们通过一些基础知识来加快速度。

什么是 Cookie?

cookie 是浏览器用来存储用户与网站交互信息的小文件。 它们通常用于持久存储各种类型的会话数据。 《卫报》对 cookie 有一个非常严肃的概述,您可以在下面欣赏。

什么是会话?

会话有点像数字身份证。 每次您访问一个网站时,您都会在访问期间被分配一个,它会在您访问该网站期间用于识别您的身份。 会话对用户来说是唯一的。

为什么要使用 Cookie 和维护会话?

使用会话和 cookie 的组合来跟踪用户行为和存储信息有很多正当理由。 以下是一些常见的场景:

  • 当您在电子商务网站上将商品添加到您的购物车时,该网站会存储该信息,以便您的购物车在您继续购物和从一个页面移动到另一个页面时得到更新。
  • 如果您喜欢在线阅读新闻,该网站可以存储您的 IP 信息并根据您的地理位置向您展示故事。
  • Cookie 还存储用于在特定网站上对用户进行身份验证的信息。 当用户返回站点时,用户的登录信息会被保存并重新加载。 这样,您不再需要记住您注册的每个网站的用户名和密码。 哈利路亚!

Cookie 的类型

和现实世界中的饼干一样,饼干有不同的口味:

  • 会话 Cookie: 这些 cookie 存储有关用户在单个会话期间执行的活动的信息。 它们用于在您浏览网站时保存有关您的活动的数据,但在会话结束时会被删除。
  • 持久性 Cookie: 您还会听到这些被称为跟踪 cookie。 持久性 cookie 会保留在您的硬盘上,直到它们过期或被删除。 这些通常用于在较长时间内管理用户偏好。

管理 Cookie 使用的法律

那些不喜欢网站存储有关您的个人信息的概念的人可能想知道这是否合法?

欧盟以欧盟指令 2009/136/EC 的形式对该问题采取了立场——您通常会听到被称为欧盟 Cookie 法的相关细节。 长话短说,立法规定欧洲的网站在安装某些类型的 cookie 之前必须征得访问者的同意。

在欧洲以外,作为网站所有者,究竟如何使用 cookie 的问题在很大程度上取决于您自己的判断,但最近广告商对用户监控越来越激进的争吵表明,用户对如何跟踪他们越来越警惕。

我的网站是否使用 Cookie?

如果您想查看您的网站或其他网站是否在您的浏览器中保存 cookie,请按照以下简单过程(适用于 Chrome):

转到浏览器的设置以控制 cookie。
转到浏览器的设置以控制 cookie。

设置 然后点击 显示高级设置… 在“隐私”部分点击 内容设置. 将显示一个模式,为您提供有关如何在您的网站上存储 cookie 的选项。 保持原样前往 所有 cookie 和网站数据.

下一个窗口将显示您的浏览器当前保存的 cookie。

让我们仔细看看保存在 popup_signup_completely wpmudev.com cookie 的变量:

在我的浏览器保存的 cookie 列表中,有 WPMU DEV 的 cookie。
在我的浏览器保存的 cookie 列表中,有 WPMU DEV 的 cookie。

在这种情况下,它只是一个弹出窗口是否已经显示给用户的简单记录,因此他们不需要一直被它打扰。

现在让我们将注意力转向 WordPress 上下文中的 cookie。

为什么我们在 WordPress 中需要 Cookie?

WordPress 默认不使用会话。 无论用户浏览网站,它都会显示相同的行为。 当您(或您的员工)登录到站点的后端时,它会存储一个用于用户身份验证的 cookie,但仅此而已。

由于几乎是无状态的,WordPress 本身不会为您提供使用 cookie 创建购物车或通过 cookie 检索访问者个人数据以改善用户体验的功能——它有很多开箱即用的功能,但 cookie 只是不是其中之一。

需要注意的是,WordPress 本身不维护会话,但您可能已经激活的许多插件或主题几乎肯定会维护。 因此,如果您发现一些 WordPress 网站的 cookie 保存在浏览器中,则很可能它是由其中之一实现的。

让我们继续手动创建、检索和删除 cookie。

在我们进入代码之前,您应该首先了解几件事:

  • 我们将在 HTTP 标头中发送 cookie
  • 代码将在 PHP 中,并将添加到 函数.php 在活动主题的目录中

我们这样做是为了保持简单和解释性目的。 在生产环境中,有几个很好的理由不使用 函数.php 做这种事情。

如何设置 Cookie

要在 WordPress 中设置 cookie,您必须传入要存储的值。 例如,如果您想存储访问者的用户名,您可以将此代码段添加到 函数.php 文件:

DAY_IN_SECONDS 变量保存 WordPress 提供的常量值,它等于一天中的秒数。 请注意,时间值设置为 30 * DAY_IN_SECONDS 这意味着 cookie 将在创建后 30 天过期。 COOKIEPATH 定义您网站的路径和 COOKIE_DOMAIN 是站点的域——这两个变量都是由您的站点设置的。

当我们运行该函数时,我们可以按照我们在文章前面查看浏览器 cookie 的步骤看到 cookie 已添加到浏览器中。

如何获取 Cookie

为了检索我们在上面的代码中创建的 cookie,我们将利用 $_COOKIE 多变的。 这个变量是一个关联数组,我们将使用它来引用我们创建的 cookie。

$_COOKIE 变量包含有关手动添加到浏览器的所有 cookie 的信息,为了获得我们正在寻找的cookie,我们必须传入一个标识符。 在这种情况下,我们将使用的标识符将是我们在设置 cookie 时为其指定的名称。 让我们看一下代码。

在我们将 cookie 的标识符(在本例中为它的名称)传递给 $_COOKIE 变量,我们必须确保 cookie 存在。 我们通过 isset() 返回的函数 TRUE 如果 cookie 已设置并且 FALSE 否则。

这里要注意的一个关键点是,当我们设置一个 cookie 并在 HTTP 标头中发送它时,它的值是自动进行 URL 编码的。 同样,当我们检索 cookie 时,默认情况下会解码该值。 您不必采取额外的步骤来加密访问者的信息。

如何删除 Cookie

有时您想从您的网站中删除 cookie,通常是当您不再需要特定的信息时。 让我们先看代码,然后继续解释。

首先,我们使用 unset() 函数从关联数组中删除 cookie 保存的值。 完成后,我们将通过将其值变量设置为空值(“”)并传入过去的时间戳(time() - ( 15 * 60 ))。

恭喜,您的 cookie 现在已被删除。 你现在在干什么? 删除 cookie 后,您可能希望将访问者重定向到您的主页。 为此,请将以下两行代码添加到 函数.php 文件:

此代码段会将您网站的访问者重定向到主页,但您只需更改第一个参数即可将他们重定向到您网站上任何您想要的位置。

最后的想法

Cookie 是使网络持续运行的重要组成部分,即使您不必亲自动手编写它们,但大致了解它们的工作原理还是很有用的。

我们已经介绍了 cookie 是什么的基础知识,以及如何检查哪些 cookie 存储在您的计算机上。 我们还逐步介绍了一些使用 PHP 在 WordPress 上下文中设置、获取和删除 cookie 的简单方法。

希望本教程能帮助您在未来更深入地探索 cookie 和会话管理。

标签:

标签: WordPress op

提交需求或反馈

Demand feedback