Contact Form 7 наиболее простой и мощный плагин для WordPress. Количество его загрузок давно перевалило 15 миллионов раз. В нем есть практически всё для настройки простой контактной формы, за исключением одной фичи — проверки правильности ввода номера телефона или факса. Сниппет ниже осуществляет валидацию телефонного номера путем вырезания всех не числовых символов и проверки длины строки с номером в 10 знаков.
Сниппет
Необходимо добавить код в файл functions.php вашей темы или в плагин для сайта WordPress:
function wpds_validate_phone_number($result, $tag) {
$field_name = $tag['name'];
if ($field_name == 'your-phone') { // Указываем имя поля для телефонного номера
$tel = preg_replace('/\D/', '', $_POST[$field_name]);
if (strlen($tel) != 12) { // Проверяем длину строки. Она должна содержать 10 символов
$result['valid'] = false;
$result['reason'][$field_name] = 'Пожалуйста, введите корректный 10-значный телефонный номер. Например, 0-800-503-808';
}
}
return $result;
}
add_filter('wpcf7_validate_text', 'wpds_validate_phone_number', 10, 2);
add_filter('wpcf7_validate_text*', 'wpds_validate_phone_number', 10, 2);
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.
Источник: WPDevSnippets
