Не кэшируйте страницы без определенного cookie - W3 Total Cache для Wordpress - PullRequest
0 голосов
/ 28 июня 2018

Я борюсь с проблемой. В плагине W3 Total Cache этот параметр находится в разделе «Кэш страниц»> «Дополнительно»> «Отклоненные файлы cookie». С помощью этой опции вы можете выбрать cookie, и если этот cookie активен на странице, эта страница не будет кэшироваться. Однако в моем случае страница всегда должна кэшироваться, за исключением случаев, когда cookie НЕ активен. Можно ли этого достичь, и если да, то как бы я это сделал?

Если это помогает, файл cookie связан с плагином WeePie Cookie Allow и активируется с помощью кнопки «принять» (чтобы дать согласие на использование файлов cookie). Уведомление о cookie-файлах не появляется на кэшированных страницах.

Спасибо заранее, Гидеон

1 Ответ

0 голосов
/ 28 июня 2018

Хорошо, я нашел обходной путь. Я добавил cookie, который должен быть загружен до того, как страница загрузится сама. Этот файл cookie я добавил в опцию «Отклоненные файлы cookie» в W3 Total Cache. Затем я сделал так, чтобы, если cookie-файл плагина WeePie Cookie Allow был активным, он был удален, и страница снова была кэширована.

Код, который я добавил в 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" );
...