2016-11-10 7 views
1

Я пытаюсь установить и прочитать куки в WordPress через мой сайт с помощью специального плагина, который я написал.Проблемы с кэшированием плагинов WordPress

add_action('wp_head', 'my_cookie_code');

код, который я написал работу, однако после того, как он развернут на наш живой сервер нет.

Я думаю, что это из-за нашей системы кэширования WordPress. Когда я выключаю его, мой код cookie работает, но как только он включен, это не так.

Без отключения моей системы кэширования WordPress, как я могу заставить свой код работать с ним?

Я хочу, чтобы каждая страница была кэширована системой кеширования, но я все равно хочу, чтобы мой маленький код был выполнен.

Благодаря

+0

Я принимаю участие в WPEngine. Я не уверен, что они используют. – Aaron

ответ

1

Оказывается, что это проблема с системой кэширования WPEngine.

Когда я переключил свой код с PHP на JavaScript, я смог решить проблему, которая у меня была.

Более подробную информацию по этому вопросу можно найти здесь: Cookies and php sessions on WPEngine

0
<?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); 
} 
?> 
+0

Мой код очень похож на то, что вы написали. 1) Я вызываю его из пользовательского плагина, а не из файла function.php 2) Я не создаю предупреждение Javascript. Проблема, похоже, связана с системой кэширования. Или вы думаете, что я неправ? – Aaron

0

Вам необходимо обратиться в службу поддержки WPE и они исключают те куки конкретно от кэширования на лаковой вашей установки. Непревзойденная постановка, поэтому он будет работать там.

+0

Насколько я знаю, исключая файлы cookie из системы кэширования лаков, не будет работать. Согласно этому сообщению WPEngine, лучше манипулировать кукисами через Javascript вместо PHP - https://wpengine.com/support/cookies-and-php-sessions/ – Aaron

Смежные вопросы