Бесконечная загрузка (spinner) на странице оформления заказа

На странице «Оформление заказа» блок с итогами заказа и способами оплаты загружается через AJAX — при этом на короткое время отображается индикатор загрузки. Если возникают проблемы, этот блок может не загрузиться, и индикатор будет крутиться бесконечно.

Сначала проверьте раздел WooCommerce → Статус на наличие ошибок — часто они там отображаются.

Ниже приведены распространенные причины и способы их устранения.

Ошибка AJAX из-за настроек WordPress

URL-адреса в разделе Настройки → Общие должны совпадать. Это важно, потому что AJAX-запросы не работают между разными доменами:

URL-адреса должны совпадать

Подробнее: как изменить адрес сайта WordPress.

Ошибки JavaScript и конфликты

Темы и плагины могут вызывать конфликты JavaScript. Чтобы проверить ошибки, откройте консоль разработчика в браузере (F12).

Ошибки в консоли браузера

Подробнее: как проверить конфликты темы и плагинов.

Некорректный ответ AJAX

Откройте вкладку XHR в инструментах разработчика и проверьте ответ запроса. В норме он должен быть в формате JSON. Если возвращается HTML, это может быть вызвано:

  • наличием файла index.html в корне сайта
  • неправильной конфигурацией сервера
  • кеширующими плагинами, которые добавляют HTML в ответ
Некорректный HTML-ответ вместо JSON

Решение: удалить файл index.html или настроить сервер так, чтобы index.php имел приоритет.

Если ответ равен -1, это означает ошибку безопасности (nonce). Обычно это связано с кэшированием страницы оформления заказа.

Ответ -1 из-за ошибки nonce

Также можно проверить конфликт, отключив все плагины и временно переключившись на стандартную тему WordPress.

Проблемы с отправкой email

На некоторых серверах отправка писем при оформлении заказа может замедлять процесс. Можно отложить отправку писем, чтобы ускорить оформление заказа:

add_filter( 'woocommerce_defer_transactional_emails', '__return_true' );

Добавьте этот код в файл functions.php дочерней темы или через плагин для добавления пользовательских функций.

Лимит памяти WordPress

Рекомендуется установить минимум 64MB памяти для WordPress. При необходимости увеличьте лимит памяти.

Поделиться с друзьями
Документация WooCommerce