<b>Конфликт JS в WordPress: 5 проверок, если скрипты ломают страницу</b>
Чаще всего проблема не в «битом» коде, а в том, что один скрипт мешает другому. В WordPress это всплывает после подключения темы, плагина, виджета или вставки внешнего JS: кнопки перестают работать, слайдер не листается, форма зависает.
Проверь сначала базу: • есть ли ошибка в консоли браузера; • не подключаются ли два одинаковых скрипта; • не стоит ли у файла loading=defer/async там, где он должен грузиться раньше; • не завязан ли код на jQuery, а jQuery отключён или загружается позже.
Если ошибка появляется только на части страниц, ищи условную загрузку. Частая схема: скрипт нужен только на одном шаблоне, но подключается глобально и конфликтует с другим модулем. Ещё один типичный случай — обращение к элементу, которого нет в DOM: код падает на одной странице и ломает всё последующее выполнение.
Когда конфликт неочевиден, отключай плагины по одному и проверяй тему на дефолтном шаблоне. Если проблема исчезла, возвращай компоненты по очереди — так быстро находят виновника. Для сложных случаев используй уникальные namespace, оборачивай код в DOMContentLoaded и не пиши селекторы «в лоб» без проверки наличия элемента.
Не лечи конфликт добавлением ещё одного скрипта «для исправления»: сначала найди источник, иначе ошибка вернётся в другом месте.
Отладка и ошибки WordPress
@wp_debug_corner_ww
<b>Конфликт JS в WordPress: 5 проверок, если скрипты ломают страницу</b>
Этот пост опубликован в Telegram-канале Отладка и ошибки WordPress. Подписаться можно по ссылке: @wp_debug_corner_ww.