Как отключить 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: практические решения и примеры
31.01.2026
Как использовать метаданные для оптимизации WordPress
13.01.2026
Как избежать проблемы при удалённой работе с WordPress через FTP
07.12.2025
Как создать динамическую картинку из текста в WordPress с примерами кода
25.02.2026
Как полностью удалить остаточные файлы и записи после удаления продуктов в WooCommerce
26.05.2026
×
День SEO
Время сделать подарок своему WordPress!
-20% на премиум

шаблоны и плагины

Порадуй свой сайт ⋙