Support » Plugin: Contact Form 7 - Phone mask field » Ошибка при вставке номера в формате 89ХХХХХХХХХХ

  • Resolved denism300

    (@denism300)


    К примеру, есть маска +7 (___) ___ – __ – __
    Если вставить номер в формате +79ХХХХХХХХХ, то все ок.
    Если вставить номер в формате 89ХХХХХХХХХ, то на выходе будет +7 (89Х) ХХХ – ХХ – ХХ, соответственно, последняя цифра номера будет удалена.
    Хотелось бы для маски российских номеров проверку вида:
    Если первая цифра 7 или
    первые две цифры 89 или
    первые две цифры 88 (для стационарных телефонов с кодом города), то
    меняем первую цифру на +7

Viewing 3 replies - 1 through 3 (of 3 total)
  • Plugin Author Ruslan Heorhiiev

    (@heorhiiev)

    Здравствуйте! Имеете ввиду, если пользователь ввел маску “89ХХХХХХХХХ” и отправил форму, необходимо заменить первую цифру на “+7”?

    Здравствуйте!
    Именно так.
    Ну или, если номер не сотовый, а городской, к примеру, +7812ХХХХХХХ и пользователь ввел 8812ХХХХХХХ, то тоже чтобы первая цифра исправлялась на +7.

    Plugin Author Ruslan Heorhiiev

    (@heorhiiev)

    Здравствуйте! Реализация вашей задачи в этом плагине не целесообразно, она требует индивидуального подхода. В Contact Form 7, для таких случаев, предусмотрены хук-фильтры. Например хук-фильтром “wpcf7_posted_data” можно это сделать.

    Пример:

    
    // define the wpcf7_posted_data callback 
    function action_wpcf7_posted_data_129jd95( $data ) { 
        //'your-tel' - название поля
        if ( isset( $data['your-tel'] ) && $data['your-tel'] ) { 
            $patterns     = '/^(7|89|88)/i';
            $replacements = '+7';
            
            $data['your-tel'] = preg_replace( $patterns, $replacements, $data['your-tel'] );
        }
    
        return $data;
    }; 
    add_filter( 'wpcf7_posted_data', 'action_wpcf7_posted_data_129jd95', 10, 1 );
    

    Вам необходимо этот код вставить в functions.php дочерней темы или сделать плагин и вставить тут, чтобы код остался действителен, если вы решите поменять тему. Вариант с плагином является хорошей практикой.

Viewing 3 replies - 1 through 3 (of 3 total)
  • The topic ‘Ошибка при вставке номера в формате 89ХХХХХХХХХХ’ is closed to new replies.