Varikweru
@Varikweru

Как заставить woocommerce_update_order_review_fragments передавать верную информацию?

Всем привет!
Столкнулся со странной проблемой. Мне нужно было перенести способы доставки на странице Оформления заказа выше.
Вроде все работает, но неадекватно. При переключении способов они иногда возвращаются в предыдущее положение, поле "Адрес" (которое должно скрываться и открываться в зависимости от способа доставки) тоже живет своей жизнью.

Полез в ajax-запрос и ответ, который приходит от него.
  • В payload запроса есть поле shipping_method[0] и там указан верный способ доставки.
  • В ответе, если оставить блок способов доставки и в старом и в новом месте, то внутри строки woocommerce-checkout-review-order-table указан верный способ, но внутри строки my-custom-shipping-table (в ней как раз мой новый блок доставки) иногда висит предыдущий способ доставки. А иногда тот, что нужен. "Адрес", как я говорил выше, тоже то верно отображается, то нет.


То есть AJAX-запрос, инициированный woocommerce_update_order_review_fragments отдает неверный ответ. Такое чувство, что эта функция захватывает устаревшую информацию и после обновления подставляет её вновь.

Пробовал делать и как тут и как тут

Кто-нибудь сталкивался с подобным? Делал похожее 2 года назад, проблем не было. Может, в новой версии Woocommerce что-то поменяли?
  • Вопрос задан
  • 20 просмотров
Пригласить эксперта
Ответы на вопрос 1
Varikweru
@Varikweru Автор вопроса
В общем, я свою проблему решил костылем - по событию updated checkout запускается функция, которая вытаскивает из скрытого поля в review order значение актуального способа доставки и переключает выбор на него. В принципе, так как проблема касается чисто фронтенда (в заказ падает верный способ доставки с правильно рассчитанной стоимостью), то в целом на этом можно остановиться. Но интересен опыт тех, кто с этим еще сталкивался
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы