Конфликты JS в WordPress ломают не только скрипты — иногда они убивают весь интерфейс
Чаще всего проблема выглядит так: кнопка не жмётся, попап не открывается, слайдер молчит, а в консоли куча ошибок. Причина обычно одна из трёх:
— два плагина подключили одну и ту же библиотеку;
— скрипт запустился раньше, чем DOM успел загрузиться;
— тема или плагин отдали старый код, который не дружит с jQuery или современным синтаксисом.
Проверяй по порядку: отключи все плагины, оставь только тему, потом включай расширения по одному. Если ошибка пропала после отключения конкретного модуля, ищи не только его JS, но и зависимости, которые он тянет. Отдельно смотри на минификацию и объединение файлов: они часто скрывают имя виновника, но не сам конфликт.
В консоли браузера важны не только красные строки, но и момент, когда они появляются. Если ошибка идёт до загрузки элемента, смотри defer, async и порядок подключения. Если падает $ is not a function, почти всегда у тебя конфликт с jQuery-обёрткой или код написан без jQuery(function($){...}).
Самый надёжный способ — изолировать проблему и потом вернуть только нужные скрипты. Не лечи конфликт “очисткой кэша”: сначала найди источник, иначе ошибка вернётся при любом обновлении страницы.
Отладка и ошибки WordPress
@wp_debug_corner_ww
Конфликты JS в WordPress ломают не только скрипты — иногда они убивают весь интерфейс
Этот пост опубликован в Telegram-канале Отладка и ошибки WordPress. Подписаться можно по ссылке: @wp_debug_corner_ww.