Как добавить маску ввода телефона в Contact Form 7 без плагинов
Если вы используете плагин Contact Form 7 на своём сайте WordPress и хотите, чтобы пользователи вводили номер телефона строго по заданному формату, например: +7 (\_) \_--, то можно легко реализовать это без установки дополнительных плагинов — с помощью популярной JavaScript-библиотеки Inputmask.
🔧 Что такое Inputmask?
Inputmask — это мощная библиотека JavaScript, которая позволяет ограничить формат ввода в поля формы, например: телефон, дату, ИНН, индекс и т.д. В нашем случае она поможет создать маску для поля с телефоном.
Пошаговая инструкция по добавлению маски
Шаг 1. Подключаем Inputmask в functions.php
Откройте файл functions.php вашей активной темы (или дочерней темы) и добавьте следующий код:
function cf7_phone_mask_scripts() {
// Подключаем библиотеку Inputmask с CDN
wp_enqueue_script( 'inputmask', 'https://cdn.jsdelivr.net/npm/inputmask@5.0.8/dist/inputmask.min.js', [], null, true );
// Скрипт для применения маски ко всем полям type="tel"
wp_add_inline_script( 'inputmask', "
document.addEventListener('DOMContentLoaded', function () {
document.querySelectorAll('input[type=\"tel\"]').forEach(function(input) {
Inputmask('+7 (999) 999-99-99').mask(input);
});
});
" );
}
add_action( 'wp_enqueue_scripts', 'cf7_phone_mask_scripts' );
✅ При необходимости вы можете изменить формат номера. Примеры:
Украина: `+380 (99) 999-99-99`
Беларусь: `+375 (29) 999-99-99`
Международный: `+9{1,3} (999) 999-9999`
Шаг 2. Обновите Contact Form 7
В редакторе вашей формы Contact Form 7 добавьте поле телефона так:
<label> Телефон: [tel* phone placeholder "+7 (___) ___-__-__"] </label>
Это обычное поле типа `tel`, но благодаря нашему скрипту к нему применится маска автоматически при загрузке страницы.
✅ Преимущества такого подхода
- Не нужны дополнительные плагины, которые могут замедлить сайт.
- Минимум кода, легко поддерживать и редактировать.
- Гибкая настройка маски — можно задать любую структуру номера.
- Работает во всех современных браузерах.
🧪 Проверка
После добавления кода:
1. Очистите кэш сайта и браузера.
2. Перейдите на страницу с формой.
3. Начните ввод телефона — маска должна примениться автоматически.
4. Проверьте в мобильной версии — также будет работать.
🛠️ Возможные доработки
- Выбор маски в зависимости от страны (по значению выпадающего списка).
- Маска для нескольких полей (телефон, факс и т.д.).
📌 Заключение
Маска телефона — это простой и эффективный способ улучшить юзабилити вашей формы. Благодаря подключению Inputmask напрямую вы получаете надёжную, быструю и расширяемую функциональность без лишнего кода и плагинов. Такой подход особенно важен для сайтов с высокой нагрузкой и требованиями к оптимизации.
Если у вас остались вопросы или нужна адаптация под международный формат — напишите, помогу!

