我正在为一个问题而苦苦挣扎。在W3 Total Cache插件中,页面缓存>高级>拒绝Cookie下有此选项。使用此选项,您可以选择一个cookie,如果该cookie在页面上处于活动状态,则不会缓存该页面。但是,就我而言,该页面应始终被缓存,除非cookie不处于活动状态。这有可能实现吗?如果可以,我该怎么做?
如果有帮助,该cookie与WeePie Cookie Allow插件相关,并通过接受按钮激活(同意使用cookie)。 Cookie通知不会在缓存的页面上弹出。
预先感谢, 基甸
答案 0 :(得分:0)
好的,所以我找到了一种解决方法。我添加了一个cookie,该cookie应该在页面加载之前加载。我将此Cookie添加到W3 Total Cache的“ Rejected Cookies”选项中。接下来,我将其设置为如果WeePie Cookie Allow插件的cookie处于活动状态,则将其删除,以便再次缓存该页面。
如果有人遇到相同的问题,我会添加到functions.php中的代码:
function AddRemoveCookie(){
$ThatCookie = '1';
setcookie("consentNotGiven", $ThatCookie);
if (isset($_COOKIE['wpca_consent'])) {
setcookie("consentNotGiven", "", time() - 3600);
return true;
} else {
return false;
}
}
add_action( "template_redirect", "AddRemoveCookie" );