如何在WordPress中设置、获取和销毁cookies?
我在网上冲浪,但我不能得到清晰的想法,请帮我找出方法。
发布于 2011-05-31 13:11:46
您可以使用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需要在过去设置一个具有过期日期的cookie,如下所示
setcookie('my_cookie', null, strtotime('-1 day'));对于Wordpress,我建议你看看Wordpress的jQuery插件( jQuery已经是Wordpress的一部分了)。试试http://plugins.jquery.com/project/Cookie
发布于 2015-11-04 19:23:13
在 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 );
}发布于 2019-03-04 07:16:52
在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, '/');https://stackoverflow.com/questions/6183162
复制相似问题