Как проверить наличие конфликтов плагинов и тем

Что такое конфликты тем и плагинов?

Конфликт — это ошибка или сбой, вызванный тем, что две части кода подают противоречивые сигналы. Например, плагин A подает сигнал о переводе заказа в статус «Выполнен», а плагин B препятствует этому.

Темы и плагины предоставляют дополнительные функции и возможности, но это также означает, что на вашем сайте работает больше кода и повышается риск несовместимости. Мы стремимся обеспечить совместимость с нашими собственными расширениями, но не можем гарантировать, что сторонние продукты, созданные для WooCommerce, будут работать с нашим программным обеспечением. На этой странице документации мы расскажем, как проверить, нет ли конфликтов между плагинами и темами.

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

Как выполнить тест на конфликты

Тестирование — единственный способ определить источник конфликта.

Резервные копии и тестовая среда

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

Большинство хостингов предлагают план резервного копирования. Если нет, есть два варианта:

  • Использовать Jetpack Backup.
  • Создать тестовую копию сайта. Это клон вашего рабочего сайта, на котором можно безопасно тестировать конфликты без риска для живого сайта. Большинство хостингов помогут с этим или можно использовать плагин WP Staging.

Деактивация и тестирование

Чтобы устранить конфликты тем и плагинов:

  1. Обновите все плагины и темы. В некоторых случаях конфликты решаются использованием последних версий программного обеспечения сайта. Новые версии содержат новые функции, исправления ошибок и обновления безопасности.
  2. Переключитесь на стандартную тему WordPress, например Twenty Twenty-Five, или установите и активируйте тему Storefront, чтобы проверить, сохраняется ли проблема.
    • Если не сохраняется, причина в теме. Вы можете:
      • сменить тему;
      • обратиться к автору темы для исправления;
    • Если проблема сохраняется, переходите к следующему шагу.
  3. Временно деактивируйте все плагины, кроме WooCommerce и используемых расширений, где есть проблемы.
  4. Проверьте наличие конфликта. Способ проверки зависит от типа конфликта.
    • Если конфликт возник на сайте или в админке, повторите те же действия. Например:
      • Не работает функция на странице редактирования продукта;
      • Не отображается кнопка на странице корзины.
    • Если конфликт возникает после определенного процесса, воспроизведите его. Например:
      • Заказ помечен «В ожидании» вместо «Выполнен» после добавления и оплаты продукта A;
      • Ошибка при добавлении двух продуктов в корзину.
    • Если конфликта нет, значит, тема или деактивированные плагины были причиной. Если конфликт сохраняется, смотрите разделы «Drop-ins и Must-Use» и «Неудачные тесты».
  5. Определите, какой плагин вызывает конфликт:
    • активируйте их по одному;
    • тестируйте после каждой активации. Для процессных конфликтов повторяйте те же шаги.

Полезные инструменты

  • 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 плагин от хостинга, например, кэш-плагин. В этом случае обратитесь к хостингу за помощью с деактивацией.

Пример Drop-ins и Must-Use в списке плагинов

Отключение кэширования браузера

Отключение кэширования браузера при тестировании конфликта гарантирует работу с актуальной версией сайта. Кэш может показывать устаревшую информацию, что мешает определить причину.

В Chrome: Вид > Дополнительно > Инструменты разработчика > Сеть и отметьте «Disable cache»:

Скриншот инструментов разработчика Chrome с указанием Disable cache

Затем вы можете снова включить кэширование, сняв этот флажок.

Неудачные тесты на конфликтность

Если после проверки на наличие конфликтов ничего не изменилось, причина в чем-то другом. Дополнительные рекомендации приведены в нашем руководстве по самообслуживанию.

При обращении в службу поддержки укажите подробное описание:

  • Действия для воспроизведения проблемы.
  • Тесты на наличие конфликтов, которые вы провели для их исключения.
Поделиться с друзьями
Документация WooCommerce