首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在WordPress中设置、获取和销毁cookies?

问如何在WordPress中设置、获取和销毁cookies?
EN

Stack Overflow用户
提问于 2011-05-31 12:59:21
回答 3查看 72.1K关注 0票数 21

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

我在网上冲浪,但我不能得到清晰的想法,请帮我找出方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-05-31 13:11:46

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

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

代码语言:javascript
复制
add_action('init', function() {
    if (!isset($_COOKIE['my_cookie'])) {
        setcookie('my_cookie', 'some default value', strtotime('+1 day'));
    }
});

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

代码语言:javascript
复制
$cookieValue = $_COOKIE['my_cookie'];

取消设置cookie需要在过去设置一个具有过期日期的cookie,如下所示

代码语言:javascript
复制
setcookie('my_cookie', null, strtotime('-1 day'));

对于Wordpress,我建议你看看Wordpress的jQuery插件( jQuery已经是Wordpress的一部分了)。试试http://plugins.jquery.com/project/Cookie

票数 39
EN

Stack Overflow用户

发布于 2015-11-04 19:23:13

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

在WordPress中设置Cookie

代码语言:javascript
复制
add_action( 'init', 'my_setcookie' );
function my_setcookie() {
setcookie( 'my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN   );
}

在WordPress中获取Cookie

代码语言:javascript
复制
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

代码语言:javascript
复制
add_action( 'init', 'my_deletecookie' );
function my_deletecookie() {
setcookie( 'my-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
}
票数 12
EN

Stack Overflow用户

发布于 2019-03-04 07:16:52

在wordpress上设置cookie我使用了$domain值。有了它,我就可以在整个站点上使用cookie值。

代码语言:javascript
复制
$domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;

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

取消设置的

代码语言:javascript
复制
setcookie("cookie_name", '', time()-1000, '/');
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6183162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档