您想了解如何在 WordPress 网站上使用 cookie 吗?
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 Analytics或Google AdSense,那么他们也可能在您的网站上设置第三方 cookie。
您可以在浏览器设置中查看所有网站 cookie。例如,在 Google Chrome 中,您需要首先打开“设置”页面。
您可以通过单击右上角的“3 点”图标并选择“设置”或chrome://settings
在地址栏中输入来完成此操作。
在“设置”页面上,您需要搜索“内容设置”。
在“内容设置”下,您需要点击“Cookies”。
这将打开 cookie 设置页面。
接下来,您需要单击“查看所有 cookie 和站点数据”选项。
在下一页上,您将看到您访问过的所有网站存储在浏览器上的所有 cookie 和网站数据的列表。
您可以在搜索框中输入网站地址,然后您将看到该网站存储的数据。
单击单个项目将向您显示有关各个 cookie 及其内容的更多详细信息。
如何在 WordPress 中设置 Cookie
要学习本教程,您需要将代码添加到主题的functions.php文件中或使用代码片段插件,例如WPCode。如果您以前没有这样做过,请查看我们关于如何在 WordPress 中复制和粘贴代码片段的指南。
首先,我们将使用PHPsetcookie()
中的函数。该函数接受以下参数:
- 饼干名称
- Cookie 值
- 过期 – 可选,设置 cookie 过期的时间段
- 路径 – 可选,默认情况下使用站点的根目录
- 域名 – 可选,默认使用您网站的域名
- 安全 – 可选,如果为 true,则仅通过 HTTPS 传输 cookie 数据
- httponly – 可选,当设置为 true 时,cookie 只能通过 HTTP 访问,不能被脚本使用
现在,让我们向您的 WordPress 网站添加代码片段。此代码在 cookie 中存储用户访问您网站时的准确时间戳:
123456789101112 | 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' , $visit_time , time()+31556926); } } |
由
您现在可以访问您的网站,然后检查您的浏览器 cookie。您将找到一个名为 的 cookie wpb_visit_time
。
如何获取 Cookie 并在 WordPress 中使用它
现在我们已经创建了这个 cookie,它会在用户的浏览器中存储一年,让我们看看如何在我们的网站上使用这些信息。
如果您知道 cookie 的名称,那么您可以使用该$_COOKIE[]
变量轻松地在 PHP 中的任何位置调用它。让我们添加一些代码,不仅可以设置 cookie,还可以使用它在您的网站上执行某些操作:
1234567891011121314151617 号181920212223242526272829303132333435 | 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 并使用新信息重新设置它:
1234567891011121314151617 号1819202122232425262728293031323334 | 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 错误及其修复方法的指南,以及我们专家为 WordPress 用户精选的最佳分析解决方案。