Чат для сайта на WordPress
На WordPress один и тот же код можно вставить тремя разными способами — разница в том, что из этого переживёт следующее обновление темы.
Три способа поставить чат
На WordPress код чата вставляется тремя разными путями, и все три рабочие:
- Правкой footer.php дочерней темы. Надёжнее всего, но нужен доступ к файлам темы.
- Плагином для вставки произвольного кода — файлы темы при этом не трогаются вообще.
- Блоком с HTML внутри конструктора страниц, если такой блок в нём есть.
Заработает виджет чата в любом из трёх. Вопрос в другом: что из этого переживёт следующее обновление сайта.
footer.php дочерней темы
Строка со скриптом чата вставляется перед закрывающим тегом body в файле footer.php. Ключевое слово здесь — «дочерней». Если дочерней копии у темы нет, правка уходит прямо в файлы родительской, и это ловушка. При очередном обновлении WordPress перезапишет footer.php целиком, и код исчезнет молча. Ошибки вы не увидите: просто в какой-то день заметите, что виджета на сайте больше нет.
Дочерняя тема с точки зрения 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.
Читайте дальше
- Чат для InSales: куда вставить код и что проверитьКак добавить чат на магазин InSales: вставка кода в бэк-офисе, работа с темами на Liquid, …
- Чат для Joomla: шаблон или модульДва способа поставить чат на Joomla: правка шаблона и модуль HTML-кода. Почему редактор вы…
- Виджет WhatsApp на сайте: не просто кнопкаКнопка WhatsApp уводит посетителя с сайта, а виджет с официальным Cloud API оставляет пере…
- Чат для OpenCart: установка без правки движкаКуда вставить код чата в OpenCart — через поле аналитики или footer.twig, что делать с кэш…