ITG Phone Fix
Добавляет маску телефонного номера в поля типа «Tel» форм Elementor Pro. Для каждого tel-поля можно включить маску и задать шаблон, например +7 (999) 999-99-99. На фронтенде маска принимает только цифры, автоматически подставляет префикс при фокусе и сообщает Elementor о валидности заполненного номера.
Как это работает
Загрузите папку
itg-phone-fix в /wp-content/plugins/ и активируйте его. Нужны Elementor и Elementor Pro (Формы).В редакторе формы Elementor Pro выберите поле типа «Tel».
Включите «Маска телефона» и при необходимости отредактируйте шаблон маски.
Поле принимает только цифры и форматирует номер по маске, включая всплывающие формы (popup).
Настройки поля
| Опция | Описание |
|---|---|
| Маска телефона | Включает/выключает маску для конкретного tel-поля. Показывается только для полей типа «Tel». |
| Шаблон маски | Шаблон формата. Символ 9 — место для цифры, любой другой символ — фиксированный литерал. По умолчанию: +7 (999) 999-99-99. |
| Текст ошибки | Сообщение при неполном номере. Если пусто — используется сообщение по умолчанию. Применяется на фронтенде и при серверной валидации. |
Поведение маски
- ✓Принимаются только цифры — любой другой символ игнорируется, значение и каретка не меняются.
- ✓При фокусе автоматически подставляется префикс (например
+7 (), каретка встаёт на первую цифру. - ✓Каждая цифра заполняет слот и сдвигает каретку, фиксированные литералы подставляются сами.
- ✓Полностью заполненная маска считается валидной, неполная — невалидной.
Частые вопросы
Как изменить маску?
В настройках поля (только для «Tel») включите «Маска телефона» и отредактируйте «Шаблон маски». Символ 9 — место для цифры, остальные — фиксированные литералы.
Работает ли во всплывающих окнах (popup)?
Да. Формы, которые отрисовываются отложенно (popup и т.п.), определяются автоматически.
Есть ли переводы?
Да. WordPress загружает переводы из папки /languages автоматически. В комплекте: русский, немецкий, французский, испанский и китайский, а также шаблон .pot.
GNU GPL v3 Плагин распространяется под лицензией GNU GPL v3 или выше.
https://www.gnu.org/licenses/gpl-3.0.html
Требования плагина
Маска работает только с полями типа «Tel» в формах Elementor Pro.
Хуки для разработчиков
| Хук | Назначение |
|---|---|
itg_pf/enabledfilter (bool $enabled, array $item) | Принудительно включить/выключить маску для конкретного поля. |
itg_pf/maskfilter (string $mask, array $item) | Изменить действующий шаблон маски. |
itg_pf/incomplete_messagefilter (string $message, array $item) | Изменить текст ошибки о неполном номере. |
itg_pf/sanitize_tel_valuefilter (string $normalized, mixed $value, array $field) | Скорректировать нормализованное значение для серверной валидации. |
itg_pf/loadedaction (ITG_PF_Plugin $plugin) | Срабатывает после регистрации всех хуков. |
Примеры кода
Своя маска для всех полей
add_filter( 'itg_pf/mask', function( $mask, $item ) {
return '+1 (999) 999-9999';
}, 10, 2 );Свой текст ошибки
add_filter( 'itg_pf/incomplete_message', function( $msg, $item ) {
return 'Введите номер полностью.';
}, 10, 2 );Действие после загрузки
add_action( 'itg_pf/loaded', function( $plugin ) {
// плагин готов к работе
} ); Проверено Plugin Check (PCP)
Plugin Check — официальный инструмент WordPress.org. Подробнее: wordpress.org/plugins/plugin-check