不要在没有特定Cookie的情况下缓存页面-W3 WordPress的总缓存

时间:2018-06-28 14:44:39

标签: php wordpress caching cookies w3-total-cache

我正在为一个问题而苦苦挣扎。在W3 Total Cache插件中,页面缓存>高级>拒绝Cookie下有此选项。使用此选项,您可以选择一个cookie,如果该cookie在页面上处于活动状态,则不会缓存该页面。但是,就我而言,该页面应始终被缓存,除非cookie不处于活动状态。这有可能实现吗?如果可以,我该怎么做?

如果有帮助,该cookie与WeePie Cookie Allow插件相关,并通过接受按钮激活(同意使用cookie)。 Cookie通知不会在缓存的页面上弹出。

预先感谢, 基甸

1 个答案:

答案 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" );