← Назад к решениям
ПлагинPHPПлатно

WP FreeScout Chat

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

WP FreeScout Chat

Стек

PHPWordPressWooCommerceFreeScoutJavaScript

Проблема

У магазина был свой развёрнутый хелпдеск FreeScout, но добраться до него с самой витрины было невозможно. Клиент, которому нужна была поддержка, уходил с сайта, отдельно находил хелпдеск и заводил обращение как посторонний, заново вводя имя, почту и телефон, которые у магазина уже были. Агенты после этого тратили первые два ответа на выяснение, с кем они говорят и о каком заказе речь.

Вставить сниппет виджета в тему - решение наполовину, порождающее новую проблему: сниппет захардкожен, поэтому личность, цвет, положение и язык превращаются в правки темы, а виджет запрашивает данные пользователя при каждой отрисовке страницы.

До → После

ДоПосле
Поддержка жила на отдельном сайте, который надо было найтиВиджет чата доступен на каждой странице магазина
Авторизованные клиенты представлялись с нуляИмя, почта и телефон передаются виджету автоматически
Сниппет виджета вставлен в темуЭкран настроек: id чата, цвет, положение, язык, обязательные поля
Поменять настройку - значит править файлы шаблонаПоменять настройку - значит сохранить форму
Запрос профиля повторяется при каждой отрисовкеДанные профиля вычисляются один раз и кэшируются по пользователю
Размещение по принципу «всё или ничего»Вставка в футер по всему сайту или шорткод там, где нужно

Как это работает

  1. Виджет настраивается, а не программируется. Id чата, акцентный цвет, угол, язык и набор обязательных контактных полей - это настройки в админке. В теме о виджете не остаётся ничего.
  2. Личность едет вместе с ним. Для авторизованного посетителя плагин достаёт отображаемое имя, почту и телефон из биллинга и отдаёт их виджету как данные посетителя, поэтому разговор начинается с уже опознанным клиентом.
  3. Запросы профиля кэшируются. Запись пользователя и его мета читаются один раз и кладутся в объектный кэш под ключом пользователя, поэтому виджет, присутствующий на каждой странице, не добавляет к каждой странице поход в базу.
  4. Анонимные посетители тоже получают поддержку. Без сессии виджет просто отрисовывается без данных посетителя, а не падает - форма спрашивает то, что помечено обязательным в настройках.
  5. Размещение - это выбор. Вставка в футер даёт виджет на весь сайт; шорткод ставит чат или форму поддержки на конкретную страницу, и оба питаются одной и той же обёрткой идентификации.

Основные возможности

  • Виджет чата FreeScout, встроенный в WordPress без правок темы
  • Автоматическая идентификация посетителя, имя, почта, телефон, для авторизованных клиентов
  • Объектный кэш запросов профиля по каждому пользователю
  • Настройки id чата, цвета, угла, языка и обязательных полей
  • Вставка в футер по всему сайту плюс шорткоды чата и формы поддержки
  • Корректный анонимный режим, когда никто не авторизован
  • Дополнительные поля профиля, доступные WooCommerce там, где они нужны хелпдеску

Установка

  1. Загрузите папку плагина в /wp-content/plugins/ и активируйте
  2. Откройте Freescout Chat в боковом меню админки и вставьте URL виджета и id чата из своего FreeScout
  3. Задайте акцентный цвет, угол, язык и поля, которые форма должна требовать
  4. Оставьте вставку в футер для виджета по всему сайту либо отключите её и используйте шорткод
  5. Откройте магазин авторизованным и убедитесь, что виджет стартует с подставленными данными

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта, запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок