WP FreeScout Chat
Плагин WordPress, ставящий виджет чата self-hosted FreeScout на витрину и передающий ему имя, почту и телефон авторизованного клиента. Настраивается из админки, а не из темы, и кэширует данные по пользователю, чтобы виджет на всём сайте не стоил лишнего запроса.

Стек
Проблема
У магазина был свой развёрнутый хелпдеск FreeScout, но добраться до него с самой витрины было невозможно. Клиент, которому нужна была поддержка, уходил с сайта, отдельно находил хелпдеск и заводил обращение как посторонний, заново вводя имя, почту и телефон, которые у магазина уже были. Агенты после этого тратили первые два ответа на выяснение, с кем они говорят и о каком заказе речь.
Вставить сниппет виджета в тему - решение наполовину, порождающее новую проблему: сниппет захардкожен, поэтому личность, цвет, положение и язык превращаются в правки темы, а виджет запрашивает данные пользователя при каждой отрисовке страницы.
До → После
| До | После |
|---|---|
| Поддержка жила на отдельном сайте, который надо было найти | Виджет чата доступен на каждой странице магазина |
| Авторизованные клиенты представлялись с нуля | Имя, почта и телефон передаются виджету автоматически |
| Сниппет виджета вставлен в тему | Экран настроек: id чата, цвет, положение, язык, обязательные поля |
| Поменять настройку - значит править файлы шаблона | Поменять настройку - значит сохранить форму |
| Запрос профиля повторяется при каждой отрисовке | Данные профиля вычисляются один раз и кэшируются по пользователю |
| Размещение по принципу «всё или ничего» | Вставка в футер по всему сайту или шорткод там, где нужно |
Как это работает
- Виджет настраивается, а не программируется. Id чата, акцентный цвет, угол, язык и набор обязательных контактных полей - это настройки в админке. В теме о виджете не остаётся ничего.
- Личность едет вместе с ним. Для авторизованного посетителя плагин достаёт отображаемое имя, почту и телефон из биллинга и отдаёт их виджету как данные посетителя, поэтому разговор начинается с уже опознанным клиентом.
- Запросы профиля кэшируются. Запись пользователя и его мета читаются один раз и кладутся в объектный кэш под ключом пользователя, поэтому виджет, присутствующий на каждой странице, не добавляет к каждой странице поход в базу.
- Анонимные посетители тоже получают поддержку. Без сессии виджет просто отрисовывается без данных посетителя, а не падает - форма спрашивает то, что помечено обязательным в настройках.
- Размещение - это выбор. Вставка в футер даёт виджет на весь сайт; шорткод ставит чат или форму поддержки на конкретную страницу, и оба питаются одной и той же обёрткой идентификации.
Основные возможности
- Виджет чата FreeScout, встроенный в WordPress без правок темы
- Автоматическая идентификация посетителя, имя, почта, телефон, для авторизованных клиентов
- Объектный кэш запросов профиля по каждому пользователю
- Настройки id чата, цвета, угла, языка и обязательных полей
- Вставка в футер по всему сайту плюс шорткоды чата и формы поддержки
- Корректный анонимный режим, когда никто не авторизован
- Дополнительные поля профиля, доступные WooCommerce там, где они нужны хелпдеску
Установка
- Загрузите папку плагина в
/wp-content/plugins/и активируйте - Откройте Freescout Chat в боковом меню админки и вставьте URL виджета и id чата из своего FreeScout
- Задайте акцентный цвет, угол, язык и поля, которые форма должна требовать
- Оставьте вставку в футер для виджета по всему сайту либо отключите её и используйте шорткод
- Откройте магазин авторизованным и убедитесь, что виджет стартует с подставленными данными
Открыт для работы по контракту
Я доступен для работы по контракту. Если у вас есть интересная идея проекта, запишитесь на звонок через Calendly.
Записаться на 30-минутный звонок