Не могу установить повар ie из плагина WordPress на указанном c сайте - PullRequest
0 голосов
/ 12 апреля 2020

Мой плагин WordPress настраивает повара ie, например:

setcookie($key,json_encode($something),0,'/');

, который обычно работает, но не работает для определенного пользователя c веб-сайта. Выполнение var_dump($_COOKIES); сразу после вызова setcookie() показывает, что соответствующий массив ie присутствует в массиве, но в заголовках ответа нет setcook ie. Другие файлы cookie, установленные на стороне сайта c (не на панели администратора), которые должны быть установлены моим плагином, также не работают.

У пользователя установлен плагин кэширования, но эта проблема сохраняется если запрос страницы вообще не попадает в кеш.

Установка тестового повара ie из файла functions.php в активной теме работает.

В чем может быть причина проблемы и какие могут быть некоторые потенциальные решения этого или способы отладки этого дальше?

1 Ответ

0 голосов
/ 12 апреля 2020

Код, размещенный в другом месте сайта, например функции. php или ядро ​​wordpress может изменять заголовки, прежде чем ответ вернется в браузер.

Попробуйте установить повара ie, затем сбросить повара ie, а затем d ie, а затем просмотреть заголовки ответов браузера:

setcookie($key,json_encode($something),0,'/');
var_dump($_COOKIES);
die();

Если все работает как задумано , вы могли бы перемещать часть die(); дальше в выполнении кода, пока не найдете конфликтующий код.

В противном случае лучший способ разработки php будет использовать PHP Точки останова исключений в JetBrains IDE где вы можете добавить точки останова, и в каждой точке останова вы можете увидеть php суперглобальные переменные, такие как $ _COOK IE

...