Как отключить AJAX в WooCommerce и решить проблемы с корзиной

|

Диагностика проблем с AJAX в WooCommerce

AJAX в WooCommerce отвечает за обновление корзины и других элементов без перезагрузки страницы. Однако иногда его работа вызывает баги: не обновляется количество товаров в корзине, не работает добавление товара, или появляются конфликты с кастомными скриптами и плагинами. Чтобы понять, связана ли проблема с AJAX, выполните следующие шаги:

Пошаговое отключение AJAX в WooCommerce

Если AJAX вызывает проблемы, его можно отключить для корзины и кнопки «Добавить в корзину». Это улучшит совместимость, хоть и потребует полной перезагрузки страницы при добавлении товара.

1. Отключение AJAX для кнопки «Добавить в корзину» на страницах магазина и архивах

add_filter('woocommerce_product_add_to_cart_url', 'disable_ajax_add_to_cart_url', 10, 2);
function disable_ajax_add_to_cart_url($url, $product) {
    return $product->is_type('simple') ? $product->get_permalink() : $url;
}

add_filter('woocommerce_product_add_to_cart_text', 'disable_ajax_add_to_cart_text', 10, 2);
function disable_ajax_add_to_cart_text($text, $product) {
    return 'Добавить в корзину';
}

Этот код убирает AJAX-обработчик на кнопках «Добавить в корзину» для простых товаров, перенаправляя на страницу товара с обычной отправкой формы.

2. Отключение AJAX обновления корзины в шапке и виджетах

add_action('wp_enqueue_scripts', 'dequeue_woocommerce_cart_fragments', 11);
function dequeue_woocommerce_cart_fragments() {
    wp_dequeue_script('wc-cart-fragments');
}

Скрипт wc-cart-fragments отвечает за AJAX-обновление корзины в шапке и виджетах. Отключение этого скрипта заставит корзину обновляться только после перезагрузки страницы.

Проверка результата после внедрения

После внесения изменений:

Частые ошибки и как их исправить

Практические советы по безопасности и производительности

Сравнение вариантов отключения AJAX в WooCommerce

МетодПлюсыМинусы
Отключение wc-cart-fragmentsУменьшение AJAX-запросов, улучшение производительностиКорзина обновляется только после перезагрузки страницы
Отключение AJAX кнопки «Добавить в корзину»Меньше конфликтов с плагинами и темамиПотеря мгновенного добавления товаров, ухудшение UX
Использование плагинов для управления AJAXГибкая настройка, поддержка обновленийДополнительная нагрузка, возможные конфликты
Как создать автоматический редирект в WordPress: практические примеры и плагины
09.11.2025
Как создать отзывы с экспертной оценкой в WordPress: практические примеры и плагины
27.01.2026
Как отключить автозапуск WP-Cron в WordPress и настроить системный cron
15.03.2026
Как создать динамический список с постами WordPress с использованием AJAX
18.03.2026
Как автоматически удалять старые вариации товаров в WooCommerce
06.06.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше