Чат для сайта на WordPress
На WordPress один и тот же код можно вставить тремя разными способами — разница в том, что из этого переживёт следующее обновление темы.
Три способа поставить чат
На WordPress код чата можно вставить тремя разными путями, и все три рабочие:
- Вручную в файл footer.php дочерней темы — надёжнее всего, но требует доступа к файлам темы.
- Через плагин для вставки произвольного кода на сайт — не трогает файлы темы вообще.
- Через конструктор страниц, если в нём есть блок с HTML-кодом или встраиваемым скриптом.
Разница между ними не в том, заработает ли чат — заработает при любом варианте, — а в том, что переживёт следующее обновление сайта. Дальше — по порядку, от самого надёжного к самому быстрому.
footer.php дочерней темы
Строка со скриптом чата вставляется перед закрывающим тегом body в файле footer.php. Ключевое слово здесь — «дочерней»: если тема не имеет дочерней копии, правка идёт напрямую в файлы родительской темы, и это ловушка. При следующем обновлении темы WordPress перезапишет файл целиком, и вставленный код исчезнет без предупреждения — вы узнаете об этом, когда чат просто перестанет появляться, а не увидите ошибку.
Дочерняя тема с точки зрения WordPress — отдельная тема, которая наследует всё от родительской, кроме файлов, переопределённых внутри неё. Обновления родительской темы её не трогают. Если дочерней темы ещё нет, создавать её ради одной строки кода избыточно — для этого случая лучше подходит второй способ.
Плагин для вставки кода
Если доступа к файлам темы нет или трогать их не хочется, проще поставить плагин, который добавляет произвольный код в head или перед закрывающим body сайта — таких плагинов много, и разбираться в них не нужно: указываете код чата один раз, и плагин сам подставляет его на каждой странице сайта, независимо от темы и её будущих обновлений.
Минус тот же, что у любого дополнительного плагина: ещё одна точка, за которой нужно следить при апдейтах WordPress. На практике для одного скрипта это меньшая проблема, чем риск потерять правку в footer.php.
Конструктор страниц
Elementor, Gutenberg и похожие конструкторы часто дают блок для встраивания HTML-кода прямо в разметку страницы. Способ рабочий, но у него та же болезнь, что у блока в теле страницы на других платформах: код привязан к конкретной странице или шаблону, а не к сайту целиком. Если чат нужен везде, скрипт придётся вставить в общий шаблон footer, который использует конструктор, а не на отдельные страницы по одной — иначе на части сайта чата просто не будет.
Кэширующие плагины
WordPress почти всегда работает с плагином кэша — это нормально и ускоряет сайт. Проблема в том, что кэш хранит собранную страницу целиком, включая то состояние body, которое было до вставки кода. После установки виджета страница, отданная из кэша, может ещё какое-то время показывать старую версию без чата — не потому что вставка не сработала, а потому что посетителю отдаётся сохранённая копия.
После любой правки footer или установки плагина стоит вручную очистить кэш сайта и проверить страницу в приватном окне браузера, не из-под своей учётной записи в админке — админку кэш обычно не трогает, и там всё выглядит корректно, даже если для обычного посетителя ничего не поменялось.
Как не поставить чат дважды
Частая ситуация: код вставили через плагин, через полгода кто-то другой — например, при смене темы — повторил вставку в footer.php, забыв, что первый способ уже работает. На сайте оказываются два независимых виджета: они либо накладываются друг на друга в одном углу экрана, либо конфликтуют за одно и то же место в DOM. Перед тем как добавлять код новым способом, проверьте исходный код страницы в браузере — если строка со скриптом чата там уже есть, второй раз вставлять её не нужно.
Такая же путаница возникает, если сайт делали разные люди в разное время: один программист поставил виджет через плагин год назад, второй сейчас переписывает тему и по привычке добавляет свой код в footer.php, не проверив, что уже стоит на сайте. Простое правило — прежде чем вставлять что-то новое, сначала посмотреть, что уже вставлено, — экономит потом час на поиск причины, почему в кабинете задваиваются диалоги.
Чего это не решает
Любой из трёх способов решает только техническую часть — виджет появится на экране. Дальше него ждёт то же, что и на любой платформе: чат без базы знаний отвечает общими фразами, а не по делу, и её нужно либо собрать автоматически при обходе сайта, либо дополнить руками. Подробный разбор этого шага — в статье про подключение чата на сайт. Полный список каналов, которые можно завести помимо сайта, — на странице каналов, а какой тариф покрывает нужный объём диалогов — на странице тарифов.
Ни один из способов не защищает от смены темы целиком: если вы переключаетесь на совершенно другую тему WordPress, а не обновляете текущую, вставку кода придётся повторить заново — правки footer.php одной темы не переносятся в другую автоматически.
Частые вопросы
Почему после установки виджет не появляется на сайте?
Чаще всего дело в кэширующем плагине — он показывает посетителям старую сохранённую версию страницы без нового кода; сбросьте кэш и проверьте сайт в режиме инкогнито, не из админки.
Что будет, если код чата стоит и в footer.php, и в плагине для вставки кода?
На сайте окажется два виджета одновременно — они будут спорить за один и тот же угол экрана и присылать двойные уведомления в кабинет; нужно оставить только один способ вставки.
Обязательна ли дочерняя тема, чтобы поставить чат?
Нет, если вы вставляете код через плагин или конструктор — тогда тема вообще не участвует; дочерняя тема нужна только для варианта с правкой footer.php.
Читайте дальше
- Как подключить чат на сайтЧто нужно сделать, чтобы на сайте появился рабочий чат: одна строка кода, обучение по стра…
- Чат для сайта на ТильдеГде в настройках Тильды вставляется код чата, почему блок T123 в теле страницы работает ху…
- Чат для сайта на 1С-БитриксКуда в 1С-Битрикс вставляется код внешнего чата, почему из-за композитного кэша он иногда …
- Чат-бот Telegram для сайтаКак связать сайт с Telegram, чтобы обращения не терялись между вкладками и сотрудниками. Т…