





-
Административный интерфейс – отдельный раздел в WP-Admin (Call Auth) с вкладками: «Настройки», «Логи», «Диагностика», «Помощь».
-
Дашборд – отображение ключевых метрик за последние 24 часа и 7 дней, быстрые ссылки на основные разделы, встроенный чек-лист готовности к работе.
-
Настройка API и вебхуков – указание API ID от SMS.RU, URL API, генерация секретного ключа для вебхука с возможностью тестового запроса. API-ключ хранится в базе данных (без хардкода).
Обновления + Багфиксы
Прогресс-бар пароля теперь всегда содержит полный градиент красный → оранжевый → жёлтый → салатовый → зелёный через linear-gradient(90deg, #d94848, #e07c3f, #e6b93a, #4fa858, #2e9e5e). Заполненная часть открывается через clip-path: inset(0 X% 0 0) — цвет всегда соответствует реальной точке на шкале, а не сплошной заливке уровня.

Шаблон рендерил шаг 3 по условию passwordless_register. Из-за page-cache/object-cache настройка могла «застревать» на 1, пользователь видел «Регистрация успешно завершена» без полей пароля, а сервер (с настройкой=0) отвечал «Введите пароль» → форма откатывалась на шаг 1.
Backspace останавливался на «+7 (900)» — браузер удалял «)», а oninput дорисовывал её обратно. Добавлен keydown-перехватчик: если Backspace попадает на разделитель (), (, —, ), удаляется и разделитель, и предшествующая цифра одним нажатием, потом маска пересобирается через formatPhone(digits.slice(0,-1)).
- Passwordless-регистрация отключена по умолчанию + одноразовая миграция WCCA_Installer::maybe_migrate() принудительно ставит passwordless_register=0 у существующих инсталляций.
- Индикатор сложности пароля — прогресс-бар с 4 уровнями (слабый/средний/хороший/надёжный), тексты редактируются в админке → Тексты.
- Липкий префикс +7 — PHONE_PREFIX константа, focus/click ставит +7 и пинит каретку на позицию 3, keydown блокирует Backspace/Delete внутри префикса, blur очищает поле если внутри только префикс.
- При регистрации на долю секунды мелькали поля пароля и форма откатывалась на телефон → JS теперь вызывает api(‘register’) ДО перехода на шаг 3; сервер всегда генерирует пароль при пустом $password + верифицированной сессии (устойчиво к рассинхронизации фронт/бэк).
- Маска телефона: последняя «7» залипала → добавлено if (digits.length <= 1) return »; в formatPhone().
- Email старых пользователей не соответствовал текущему домену → в админке → «Пользователи» добавлены: колонка Email, бэйдж «домен устарел», кнопка «Пересчитать email по текущему домену» (обходит всех WCCA-юзеров и делает wp_update_user).
- Формы не были адаптированы для мобильных → добавлены медиа-запросы @media (max-width: 640px) и 380px, крупные кнопки на телефонах.
- Стили темы перебивали плагин → все layout-критичные CSS-правила выводятся с !important, добавлена настройка «Форсировать стили плагина (force_style_override)».
- Стандартные формы WooCommerce виднелись под плагином → добавлена настройка custom_hide_selectors (textarea CSS-селекторов, скрываются на my-account), в baseline попали .u-column1, .u-column2, .woocommerce-form-*.
- После авторизации не было редиректа → 3 новых URL-поля в админке (Оформление → «Редиректы»): redirect_after_login/register/reset. AJAX-ответы теперь возвращают redirect, JS уводит пользователя на нужную страницу.
Основное
Заменяет стандартные формы WooCommerce на my-account (или показывает через шорткод) на форму авторизации по номеру телефона. Пользователь **звонит бесплатно** на короткий номер, выданный SMS.RU, и после соединения его аккаунт создаётся/входит автоматически — SMS-код вводить не нужно, пароль тоже не обязателен.
Вход по звонку: (passwordless) Пользователь ввёл номер → нажал «Войти по звонку» → позвонил → мгновенно залогинен
Регистрация по звонку: (passwordless) Ввёл номер → позвонил → аккаунт создан с случайным паролем + автовход
Классический вход: Ввёл номер и пароль → залогинен (если passwordless-вход выключен в админке)
Восстановление пароля: Ввёл номер → позвонил → задал новый пароль
Оба режима переключаются: В админке: WP → Авторизация → Верификация → «Способ входа и регистрации»
Функциональные возможности плагина
-
Дашборд – отображение ключевых метрик за последние 24 часа и 7 дней, быстрые ссылки на основные разделы, встроенный чек-лист готовности к работе.
-
Настройка API и вебхуков – указание API ID от SMS.RU, URL API, генерация секретного ключа для вебхука с возможностью тестового запроса.
-
Верификация пользователей – выбор способа входа (без пароля или с паролем), настройка TTL сессии, интервалов опроса, лимитов запросов (rate-limits) и назначение роли по умолчанию.
-
Оформление интерфейса – настраиваемая цветовая схема, регулируемая ширина карточки, бесконфликтный режим (замена стандартных форм WooCommerce или использование только шорткода).
-
Текстовое наполнение – более 30 редактируемых надписей для всех элементов формы: заголовки, кнопки, ссылки, системные сообщения.
-
Логирование системы – выбор уровня логирования (error / warning / info / debug), одновременная запись в базу данных и файл, настройка срока хранения (ретеншен), очистка при удалении плагина.
-
Просмотр логов – фильтрация по уровню, каналу и ключевым словам, доступ к файловым логам, навигация в стиле экспорта данных.
-
Управление пользователями – список всех номеров, когда-либо взаимодействовавших с системой, с агрегированной статистикой (события, верификации, входы, ошибки). При клике открывается временная шкала событий конкретного пользователя с привязкой к WP-аккаунту.
-
Диагностика – полная сводка окружения сервера и готовый чек-лист для передачи в техническую поддержку.
-
Справка и документация – пошаговая инструкция по подключению SMS.RU, описание доступных шорткодов и список CSS-переменных для кастомизации.
-
Дашборд – отображение ключевых метрик за последние 24 часа и 7 дней, быстрые ссылки на основные разделы, встроенный чек-лист готовности к работе.
-
Настройка API и вебхуков – указание API ID от SMS.RU, URL API, генерация секретного ключа для вебхука с возможностью тестового запроса.
-
Верификация пользователей – выбор способа входа (без пароля или с паролем), настройка TTL сессии, интервалов опроса, лимитов запросов (rate-limits) и назначение роли по умолчанию.
-
Оформление интерфейса – настраиваемая цветовая схема, регулируемая ширина карточки, бесконфликтный режим (замена стандартных форм WooCommerce или использование только шорткода).
-
Текстовое наполнение – более 30 редактируемых надписей для всех элементов формы: заголовки, кнопки, ссылки, системные сообщения.
-
Логирование системы – выбор уровня логирования (error / warning / info / debug), одновременная запись в базу данных и файл, настройка срока хранения (ретеншен), очистка при удалении плагина.
-
Просмотр логов – фильтрация по уровню, каналу и ключевым словам, доступ к файловым логам, навигация в стиле экспорта данных.
-
Управление пользователями – список всех номеров, когда-либо взаимодействовавших с системой, с агрегированной статистикой (события, верификации, входы, ошибки). При клике открывается временная шкала событий конкретного пользователя с привязкой к WP-аккаунту.
-
Диагностика – полная сводка окружения сервера и готовый чек-лист для передачи в техническую поддержку.
-
Справка и документация – пошаговая инструкция по подключению SMS.RU, описание доступных шорткодов и список CSS-переменных для кастомизации.
-
Защита от злоупотреблений – rate-limit по IP (звонки/час) и по телефону (звонки/час) для предотвращения подделки запросов; brute-force защита для классического входа по паролю (10 неудачных попыток с одного IP за 15 минут).
-
Безопасность вебхука – секретный webhook, принимающий подтверждения только с корректным параметром
?secret=...(32 символа, генерируется автоматически, перегенерация одной кнопкой). -
Полное логирование событий – опциональная запись всех значимых действий: API-запросы, входы, регистрации, отказы, срабатывания rate-limits и вебхуки.
-
Отсутствие конфликтов – все хуки, классы и CSS-селекторы имеют префикс
wcca_/.wcca-, что гарантирует совместимость с темой и сторонними плагинами. -
Совместимость с WooCommerce – задекларирована поддержка HPOS и Cart/Checkout Blocks.
-
Корректная обработка данных – пароли не проходят через
sanitize_text_fieldи сохраняются в исходном виде. -
Защита от CSRF – все AJAX-запросы защищены через WordPress-nonce.
JAX-эндпоинты (доступны как для авторизованных, так и для неавторизованных пользователей – wp_ajax_* и wp_ajax_nopriv_*)
| Действие | Назначение |
|---|---|
wcca_send_call |
Запрос к SMS.RU на генерацию номера для звонка (поддерживаемые типы: login, register, reset) |
wcca_check_phone |
Опрос статуса верификации (используется как fallback, если вебхук не пришёл) |
wcca_login_by_call |
Выполнение passwordless-входа после успешного подтверждения звонком |
wcca_login |
Классический вход по паролю |
wcca_register |
Регистрация нового пользователя (с паролем или в passwordless-режиме) |
wcca_reset_password |
Смена пароля |
Прочее + Хуки
Плагин не переопределяет стандартные хуки WooCommerce агрессивно. Подключение происходит только в следующих точках:
-
woocommerce_before_customer_login_form(priority 5) – вывод форм на странице my-account (если включён режим замены) -
wcca_daily_cleanup– крон-задача для очистки старых логов -
before_woocommerce_init– декларация совместимости с HPOS и Cart/Checkout Blocks -
plugins_loaded– инициализация (bootstrap) плагина -
rest_api_init– регистрация вебхук-эндпоинта
Собственные хуки для расширения (для сторонних плагинов и тем):
-
Все AJAX-действия доступны для перехвата через фильтры
wp_ajax_wcca_* -
Логирование реализовано через
WCCA_Logger::log()– метод может быть переопределён или расширен
-
Откройте раздел Авторизация → Диагностика – ознакомьтесь с чек-листом. Все пункты должны иметь статус «да».
-
Проверьте, что API ID указан на странице API / Вебхук.
-
Убедитесь, что URL вебхука добавлен в личном кабинете SMS.RU (без вебхука система работает через опрос, но медленнее).
-
Включите Логирование на уровне
debug, воспроизведите проблемный сценарий, затем откройте раздел Логи – там будет полная история AJAX- и API-вызовов. -
При обращении в службу поддержки приложите таблицу из раздела Диагностика.
Обратите внимание:
- Разработчик не ведёт регулярную поддержку плагина. Исправления и обновления выходят только по мере необходимости, а не по фиксированному графику.
- Все доработки, кастомизация под конкретные задачи, помощь в настройке и устранение нестандартных ситуаций осуществляются исключительно на платной основе.
- Если вам нужна гарантированная поддержка, срочное исправление ошибок или интеграция со специфической темой / плагином — рассчитывайте на отдельную оплату работ.
HPOS-совместимость с WooCommerce.

* Настраиваемая длина кода, время жизни сессии, лимит попыток.
* Двойное логирование: файл + таблица БД + просмотр в админке.
* Rate-limiting (по IP и по телефону) от подделки заявок.
* Brute-force защита логина.
Плагин выложен в открытый доступ по многочисленным просьбам начинающих разработчиков и владельцев проектов, которые нуждаются в быстром и рабочем решении "из коробки".
Авторизация по звонку SMS.ru
Регистрация, вход и восстановление пароля в WooCommerce через бесплатный звонок (SMS.RU CallCheck).
Авторизация по звонку SMS.ru
Регистрация, вход и восстановление пароля в WooCommerce через бесплатный звонок (SMS.RU CallCheck).
Авторизация по звонку SMS.ru
Регистрация, вход и восстановление пароля в WooCommerce через бесплатный звонок (SMS.RU CallCheck).
