Что такое конфликты тем и плагинов?
Конфликт — это ошибка или сбой, вызванный тем, что две части кода подают противоречивые сигналы. Например, плагин A подает сигнал о переводе заказа в статус «Выполнен», а плагин B препятствует этому.
Темы и плагины предоставляют дополнительные функции и возможности, но это также означает, что на вашем сайте работает больше кода и повышается риск несовместимости. Мы стремимся обеспечить совместимость с нашими собственными расширениями, но не можем гарантировать, что сторонние продукты, созданные для WooCommerce, будут работать с нашим программным обеспечением. На этой странице документации мы расскажем, как проверить, нет ли конфликтов между плагинами и темами.
Проверка на наличие конфликтов может оказаться трудоемкой технической задачей. Если вы хотите, чтобы эту работу за вас выполнил кто-то другой, обратитесь к надежному партнеру, который проведет такую проверку за фиксированную плату. Если останется время, он также устранит обнаруженные проблемы.
Как выполнить тест на конфликты
Тестирование — единственный способ определить источник конфликта.
Резервные копии и тестовая среда
Рекомендуем сделать резервную копию сайта. Деактивация и повторная активация плагинов обычно не вызывает проблем, но наличие хорошей копии сэкономит время и силы в редких случаях.
Большинство хостингов предлагают план резервного копирования. Если нет, есть два варианта:
- Использовать Jetpack Backup.
- Создать тестовую копию сайта. Это клон вашего рабочего сайта, на котором можно безопасно тестировать конфликты без риска для живого сайта. Большинство хостингов помогут с этим или можно использовать плагин WP Staging.
Деактивация и тестирование
Чтобы устранить конфликты тем и плагинов:
- Обновите все плагины и темы. В некоторых случаях конфликты решаются использованием последних версий программного обеспечения сайта. Новые версии содержат новые функции, исправления ошибок и обновления безопасности.
- Переключитесь на стандартную тему WordPress, например Twenty Twenty-Five, или установите и активируйте тему Storefront, чтобы проверить, сохраняется ли проблема.
- Если не сохраняется, причина в теме. Вы можете:
- сменить тему;
- обратиться к автору темы для исправления;
- Если проблема сохраняется, переходите к следующему шагу.
- Если не сохраняется, причина в теме. Вы можете:
- Временно деактивируйте все плагины, кроме WooCommerce и используемых расширений, где есть проблемы.
- Проверьте наличие конфликта. Способ проверки зависит от типа конфликта.
- Если конфликт возник на сайте или в админке, повторите те же действия. Например:
- Не работает функция на странице редактирования продукта;
- Не отображается кнопка на странице корзины.
- Если конфликт возникает после определенного процесса, воспроизведите его. Например:
- Заказ помечен «В ожидании» вместо «Выполнен» после добавления и оплаты продукта A;
- Ошибка при добавлении двух продуктов в корзину.
- Если конфликта нет, значит, тема или деактивированные плагины были причиной. Если конфликт сохраняется, смотрите разделы «Drop-ins и Must-Use» и «Неудачные тесты».
- Если конфликт возник на сайте или в админке, повторите те же действия. Например:
- Определите, какой плагин вызывает конфликт:
- активируйте их по одному;
- тестируйте после каждой активации. Для процессных конфликтов повторяйте те же шаги.
Полезные инструменты
- Meks Quick Plugin Disabler запоминает активные плагины после тестирования.
- Theme Switcha позволяет безопасно переключать темы на сайте без влияния на фронтенд.
- WP Rollback позволяет откатиться к предыдущим версиям плагинов или тем без ручной переустановки.
- Query Monitor помогает выявлять проблемы производительности сайта, показывает запросы к базе, ошибки PHP и HTTP API вызовы.
Drop-ins и Must-Use
На некоторых сайтах в списке плагинов есть разделы «Must-Use» или «Drop-ins». Их нельзя деактивировать напрямую, но они могут быть причиной конфликта.
- Некоторые плагины установлены другим плагином, который работает как вспомогательный. Деактивация родительского плагина деактивирует и эти.
- Многие хостинги используют предустановленные Drop-ins или Must-Use плагины для настройки сервера.
Если конфликт сохраняется, возможно, причиной является Drop-in плагин от хостинга, например, кэш-плагин. В этом случае обратитесь к хостингу за помощью с деактивацией.

Отключение кэширования браузера
Отключение кэширования браузера при тестировании конфликта гарантирует работу с актуальной версией сайта. Кэш может показывать устаревшую информацию, что мешает определить причину.
В Chrome: Вид > Дополнительно > Инструменты разработчика > Сеть и отметьте «Disable cache»:

Затем вы можете снова включить кэширование, сняв этот флажок.
Неудачные тесты на конфликтность
Если после проверки на наличие конфликтов ничего не изменилось, причина в чем-то другом. Дополнительные рекомендации приведены в нашем руководстве по самообслуживанию.
При обращении в службу поддержки укажите подробное описание:
- Действия для воспроизведения проблемы.
- Тесты на наличие конфликтов, которые вы провели для их исключения.
