Поддержка WooCommerce Не работает корзина при удаление товаров

  • Перестала работать правильно корзина со временем, я добавляю 3 или больше товаров в корзину и нажимаю кнопку удалить товар (просто нажимаю на крестик слева возле товара) первый товар удаляется, а остальные товары нет. Я говорю про конкретно страницу https://olko.by/cart/ . Приходится постоянно нажимать обновить страницу, тогда видны изменения, раньше такой проблемы не было.

    Почему такое происходит?
    Есть-ли решение, сделать корзину правильно рабочей (чтобы все обновлялось как надо, при удаление товаров из корзины)?

    Обновил версию wordpress до последней и обновил плагины, в том числе woocommerce с БД.
    Пытался отключать плагины, но это не помогло.

    Помогите пожалуйста решить данную проблему!

    • Тема изменена 1 год, 1 месяц назад пользователем nightchosen.

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Перестала работать правильно корзина со временем

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

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

    Надо еще удалить все созданные ими кеши

    Я использую для кэша плагин WP-Optimize, перепробовал разное удалял кэш везде отключал плагин, пробовал то-же самое проделать через режим инкогнито. Поотключал все, что только можно связанное с кэшем. Попробовал с телефона сделать на котором точно кэша нету и таже проблема.

    Это точно проблема с кэшам? Мне кажется я уже все перепробовал и нечего не сработала. Как вы поняли что проблема в кэше?

    Проблема актуальна

    • Ответ изменён 1 год, 1 месяц назад пользователем nightchosen.

    Это точно проблема с кэшам?

    Не точно, но очень похоже

    Я использую для кэша плагин WP-Optimize

    Если в настройках не стоит галка «Показывать кэшированные страницы авторизованным пользователям», то проверьте есть ли этот баг в корзине, когда вы авторизованы как админ

    Модератор Yuri

    (@yube)

    Как вы поняли что проблема в кэше?

    Элементарно, дорогой Ватсон! Вы же сами написали «Приходится постоянно нажимать обновить страницу, тогда видны изменения«

    Простой метод проверки: F12 (Developer tools) — Network — Disable Cache и пробуем воспроизвести проблему. Если глюк пропал, проблема связана с кэшированием.

    Простой метод проверки: F12 (Developer tools) — Network — Disable Cache

    Да действительно все заработала как надо.

    Может есть предложение как тогда можно отключить кэш на странице корзины? По правде говоря я вроде везде проверил, и вроде настроил, и почистил кэш но если не смотреть через f12, то проблема есть. Как можно найти от куда идет этот кэш?

    Модератор Yuri

    (@yube)

    Поскольку это кэширование самого верхнего, браузерного уровня, то смотрите там, где есть настройки http-заголовков. Я вот вижу в заголовках 3-минутное кэширование:
    date: Sun, 05 Mar 2023 06:56:52 GMT
    expires: Sun, 05 Mar 2023 06:59:52 GMT

    Ищите эти 3мин/180сек.

    Не получается обнаружить данный кэш

    Могу ли я запретить с помощью WP-Optimize плагина любой кэш на страницу https://olko.by/cart/ и как это сделать?

    Как лучше всего проверить изменения связанные с кэшем, ведь кэш может хранится и в браузере, плагинах или еще где? Если есть простой метод проверки, то он бы то-же был полезен.

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

    Уже много чего перепробовал:
    — отключал плагины
    — использовал настройку плагина WP-Optimize / перешел в дополнительные настройки -> URL-адреса для исключения из кэширования -> и вписал туада /cart -> возможно в нем можно лучше указать?
    — пытался почистить строчки в .htaccess связанные с кэшем
    — в хосте тоже ничего не кэшируется

    И баг остается, только через f12 вижу, как все правильно работает. Помогите решить проблему гениальным советом!

    • Ответ изменён 1 год, 1 месяц назад пользователем nightchosen.

    Могу ли я запретить с помощью WP-Optimize плагина любой кэш на страницу https://olko.by/cart/ и как это сделать?

    WP-Optimize > Кэширование > Дополнительные настройки > Условные теги для исключения из кэширования
    is_cart

    Модератор Yuri

    (@yube)

    Судя по тому, что /readme.html отдается nginx’ом с такими же заголовками, то я бы искал в настройках хостинга. Или теребил техподдержку.

    Возможно, но не обязательно, поможет следующий сниппет (пишу на коленке без проверки)

    add_action( 'wp', function() {
    if ( is_cart() ) {
    nocache_headers();
    }
    });

    Не помог 1-вый и 2-ой совет

    Я провел исследование и заметил, что если удалить товар, а потом подождать 3 минуты, а потом удалить следующий товар то все работает.

    Похоже и в правду есть кэш в 3 минуты, который я не могу найти

    add_action( 'wp', function() {
    if ( is_cart() ) {
    nocache_headers();
    }
    });

    Данный код не отключил этот кэш и настройка WP-Optimize то-же не справилась с этим.

    Остается тот-же вопрос, как все таки избавиться от данного кэша?

    Помог такой код

    add_action( 'wp', function() {
    if ( is_cart() ) {
    nocache_headers();
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");
    }
    });

    Но возник другой баг, при удаление из корзины товара, а потом добавления того же товара его опять нельзя удалить и приходится ждать 3 минуты, что-бы его можно было удалять.

    Кстати с разными товарами стало работать, а вот если добавлять один и тот-же товар, то опять появляется кэш на 3 минуты.

    Возможно есть лучшее решение это обойти?

    Модератор Yuri

    (@yube)

    Да это вообще не решение, а костыль. Решение — вправить конфигурацию веб-сервера, чтобы он не выставлял заголовки там, где не просят. Я почти уверен, что, кроме /cart/, назойливое кэширование гадит еще в куче мест, менее явных, чем страница корзины.

    Подскажите как это сделать? Вы писали «в настройках хостинга», но у меня есть такой-же интернет магазин на данном хостинге и у него все работает хорошо… К тому-же я спросил у тех поддержки хостинга, на что мне дали ответ, что со стороны хостинга ничего не кэшируется. Я не понимаю как хостинг влияет на кэш.

    А в wordpress у меня не получается исправить данный баг до конца.
    Могу ли я получить немного конкретней ответ. Как вправить конфигурацию веб-сервера?

    Плюс ко всему раньше данной проблемы не было, просто настраивал плагин и все работало (в корзине не было проблем), проблемы возникли после нескольких обновлений wordpress + плагинов / возможно БД. Как такое получается, что после обновления всего этого я могу получать подобные баги с кэшем?

Просмотр 15 ответов — с 1 по 15 (всего 17)
  • Тема «Не работает корзина при удаление товаров» закрыта для новых ответов.