Products
GG网络技术分享 2025-03-18 16:12 0
我正在尝试通过我编写的自定义插件在我的网站上的 WordPress 中设置和读取 cookie。
add_action('wp_head','my_cookie_code');
我编写的代码可以工作,但是,一旦将其部署到我们的实时服务器上,它就不起作用了。
我认为这是因为我们的 WordPress 缓存系统。 当我关闭它时,我的 cookie 代码可以工作,但一旦打开,它就不起作用了。
在不关闭 WordPress 缓存系统的情况下,如何让我的代码能够使用它?
我希望每个页面都被缓存系统缓存,但我仍然希望执行我的一小部分代码。
看来这是 WPEngine 缓存系统的问题。
当我将代码从基于 PHP 切换到 JavaScript 时,我能够解决我遇到的问题。
有关此问题的更多信息可以在这里找到:
WPEngine 上的 Cookie 和 php 会话
###
<?php //Try this code in function.php file
//set cookie
add_action( 'init', 'setCookie' );
function setCookie() {
setcookie( 'my-name', 'my-value', time() + 3600, COOKIEPATH, COOKIE_DOMAIN );
}
//get Cookie
add_action( 'wp_head', 'getCookie' );
function getCookie() {
$cookie_val = isset( $_COOKIE['my-name'] ) ? $_COOKIE['my-name'] : 'not set';
}
//Delete / Unset Cookie
add_action( 'init', 'unsetCookie' );
function unsetCookie() {
setcookie( 'my-name', '', time() - 3600, COOKIEPATH, COOKIE_DOMAIN );
}
?>
###
您需要联系 WPE 支持并让他们从您安装的 Varnish 缓存中专门排除这些 cookie。
暂存是未缓存的,这就是它在正常运行的原因。
Demand feedback