您想了解如何在您的 WordPress 网站上使用 cookie 吗?Cookies 是一种有用的工具,可以在用户浏览器中存储临时信息,然后使用这些信息通过个性化和行为定位来增强用户体验。在本终极指南中,我们将向您展示如何像专业人士一样设置、获取和删除 WordPress cookie。
注意:这是一个高级教程。它要求您精通 HTML、CSS、WordPress 站点和 PHP。
什么是 Cookie?
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 中,您需要转到设置并搜索“内容设置”。
在内容设置下,您需要点击“Cookies”以打开 Cookie 设置页面。
接下来,您需要单击“所有 cookie 和站点数据”选项。
在下一页上,您将看到您访问的所有网站在您的浏览器中存储的所有 cookie 和站点数据的列表。
您可以在搜索框中输入网站地址,它会显示该网站存储的数据。
单击单个项目将向您显示有关各个 cookie 及其内容的更多详细信息。
如何在 WordPress 中设置 Cookie
要遵循本教程,您需要将代码添加到主题的functions.php文件或特定于站点的插件中。如果您以前没有这样做过,请查看我们的指南,了解如何在 WordPress 中复制和粘贴代码片段。
首先我们将使用PHPsetcookie()中的函数。该函数接受以下参数。
饼干名称
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 yearsetcookie(‘wpb_visit_time’, $visit_time, time()+31556926); } }
您现在可以访问您的网站,然后检查您的浏览器 cookie。你会发现一个名为 的cookie wpb_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 setif(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 existfunction visitor_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 并使用新信息重新设置它。
function wpb_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 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 timeunset($_COOKIE[‘wpb_visit_time’]); return $string;} } else { // Do this if the cookie doesn’t existfunction visitor_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。
我们希望本文能帮助您了解如何轻松设置、获取和删除 WordPress cookie。您可能还想查看我们的 WordPress 函数文件的其他非常有用的技巧列表。