Как отключить 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Гибкая настройка, поддержка обновленийДополнительная нагрузка, возможные конфликты
Как массово удалить неиспользуемые вариации товаров в WooCommerce
02.06.2026
Как изменить автозаголовки постов в WordPress: практические решения и примеры кода
03.02.2026
Как отключить автозапуск видео в WooCommerce: практическое решение
29.04.2026
Как использовать WPRemark для автоматических отзывов в WordPress: подробное руководство
21.03.2026
Как отключить автопроизвольный звонок в WordPress без плагинов
25.12.2025
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее