如何设置,获取和删除WordPress Cookies(如专业版)
您想学习如何在WordPress网站上使用cookies吗? Cookie是一种有用的工具,用于在用户的浏览器中存储临时信息,然后使用此信息通过个性化和行为定位来增强用户体验。在这个终极指南中,我们将向您展示如何像专业人士一样设置,获取和删除WordPress cookie。
注意:这是一个高级教程。它要求您熟练掌握HTML,CSS,WordPress站点和PHP。
什么是饼干?
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中复制和粘贴代码段。
首先我们将使用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函数文件的其他非常有用的技巧列表。