如何在 WordPress 中设置、获取和销毁 cookie?

发布于 2024-11-10 10:41:32 字数 71 浏览 0 评论 0原文

如何在 WordPress 中设置、获取和销毁 cookie?

我上网浏览了但找不到清晰的想法,请帮我找到方法。

How can I set, get and destroy cookies in WordPress?

I surfed the web but I can't get clear ideas, please help me find how.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

左岸枫 2024-11-17 10:41:32

您可以使用 PHP 在服务器端检索和操作 cookie,也可以使用 JavaScript 在客户端检索和操作 cookie。

在 PHP 中,您可以使用 setcookie() 设置 cookie。请注意,这必须在任何输出发送到浏览器之前完成,这在 Wordpress 中可能是一个很大的挑战。您几乎只能使用一些早期运行的挂钩,您可以通过插件或主题文件(例如functions.php)设置这些挂钩,例如,

add_action('init', function() {
    if (!isset($_COOKIE['my_cookie'])) {
        setcookie('my_cookie', 'some default value', strtotime('+1 day'));
    }
});

在 PHP 中检索 cookie 要容易得多。只需从 $_COOKIE 超级全局中按名称获取它们,例如

$cookieValue = $_COOKIE['my_cookie'];

取消设置 cookie 需要设置一个过去的过期日期,例如

setcookie('my_cookie', null, strtotime('-1 day'));

对于 JavaScript,我建议查看其中一个jQuery cookie 插件(因为 jQuery 已经是 Wordpress 的一部分)。尝试 http://plugins.jquery.com/project/Cookie

You can either retrieve and manipulate cookies on the server side using PHP or client side, using JavaScript.

In PHP, you set cookies using setcookie(). Note that this must be done before any output is sent to the browser which can be quite the challenge in Wordpress. You're pretty much limited to some of the early running hooks which you can set via a plugin or theme file (functions.php for example), eg

add_action('init', function() {
    if (!isset($_COOKIE['my_cookie'])) {
        setcookie('my_cookie', 'some default value', strtotime('+1 day'));
    }
});

Retrieving cookies in PHP is much easier. Simply get them by name from the $_COOKIE super global, eg

$cookieValue = $_COOKIE['my_cookie'];

Unsetting a cookie requires setting one with an expiration date in the past, something like

setcookie('my_cookie', null, strtotime('-1 day'));

For JavaScript, I'd recommend having a look at one of the jQuery cookie plugins (seeing as jQuery is already part of Wordpress). Try http://plugins.jquery.com/project/Cookie

忆梦 2024-11-17 10:41:32

尝试在 function.php 中使用此代码,在 WordPress 中使用 Cookie

在 WordPress 中设置 Cookie

add_action( 'init', 'my_setcookie' );
function my_setcookie() {
setcookie( 'my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN   );
}

在 WordPress 中获取 Cookie

add_action( 'wp_head', 'my_getcookie' );
function my_getcookie() {
$alert = isset( $_COOKIE['my-name'] ) ? $_COOKIE['my-name'] : 'not set';
 echo "<script type='text/javascript'>alert('$alert')</script>";
}

删除或取消设置 WordPress 中的 Cookie

add_action( 'init', 'my_deletecookie' );
function my_deletecookie() {
setcookie( 'my-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
}

Try this code inside function.php to play with Cookies in WordPress

Set a Cookie in WordPress

add_action( 'init', 'my_setcookie' );
function my_setcookie() {
setcookie( 'my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN   );
}

Get a Cookie in WordPress

add_action( 'wp_head', 'my_getcookie' );
function my_getcookie() {
$alert = isset( $_COOKIE['my-name'] ) ? $_COOKIE['my-name'] : 'not set';
 echo "<script type='text/javascript'>alert('$alert')</script>";
}

Delete or Unset a Cookie in WordPress

add_action( 'init', 'my_deletecookie' );
function my_deletecookie() {
setcookie( 'my-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
}
握住我的手 2024-11-17 10:41:32

为了设置 WordPress 上的 cookie,我使用了 $domain 值。有了它,我就可以在整个网站上使用 cookie 值。

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;

setcookie("cookie_name", 'cookie_value', 0, '/', $domain);

取消设置

setcookie("cookie_name", '', time()-1000, '/');

To set the cookie on wordpress I used the $domain value. With it I get to use the cookie value across the entire site.

$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;

setcookie("cookie_name", 'cookie_value', 0, '/', $domain);

To unset

setcookie("cookie_name", '', time()-1000, '/');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文