Форум программистов, компьютерный форум, киберфорум
WordPress
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/18: Рейтинг темы: голосов - 18, средняя оценка - 4.67
2 / 2 / 0
Регистрация: 31.10.2019
Сообщений: 26
1

Маска телефона на странице оформления заказа

21.02.2021, 10:31. Показов 3507. Ответов 1

Author24 — интернет-сервис помощи студентам
Хочу добавить маску ввода телефона на странице оформления заказа, типа +7 (___) ___-__-__
Делал по видео от InWebPress. Если в кратце то:
  1. Загрузил на хостинг файл jquery.maskedinput.min.js (в репозитории он находится в папке dist) по пути /wp-content/themes/woodmart-child/js/jquery.maskedinput.js
  2. В файл function.php дочерней темы (Woodmart) добавил следующий скрипт:
    PHP
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    // Маска ввода телефона на странице оформления
    add_action('wp_enqueue_scripts', 'my_maskedinput');
    function my_maskedinput() {
        if (is_checkout()) {
            wp_enqueue_script('maskedinput', '/wp-content/themes/woodmart-child/js/jquery.maskedinput.min.js', array('jquery'));
            add_action( 'wp_footer', 'masked_script', 999);
        }
    }
     function masked_script() {
        if ( wp_script_is( 'jquery', 'done' ) ) {
    ?>
        <script type="text/javascript">
            jQuery( function( $ ) {
                $("#billing_phone").mask("+7(999)999-99-99");
            });
        </script>
    <?php
        }
    }

Причем JavaScript из функции добавляется - через DevTools проверил, а маска не появляется. И да, у поля ввода телефона id - billing_phone - это тоже проверил.

Пробовал реализовать это через str_replace:
PHP
1
2
3
4
5
6
7
8
9
10
add_filter( 'woocommerce_form_field', 'my_maskedinput', 20, 4 );
function my_maskedinput( $field, $key, $args, $value ) {
    // Only on checkout page
    if( is_checkout() && ! is_wc_endpoint_url() ) {
        $phone = '&nbsp;<input type="tel" class="input-text " name="billing_phone" id="billing_phone" placeholder="Номер телефона" value autocomplete="tel">';
        $field = str_replace( $phone, '&nbsp;<input type="tel" class="input-text" name="billing_phone" id="billing_phone" placeholder="Номер телефона" value autocomplete="tel" mask="+7 (999) 999-99-99">', $field );
    }
    
    return $field;
}
тож разными способами, но почему-то не заменяет строку на необходимую.

Буду благодарен если кто-нибудь даст хотя бы наводку, в каком направлении искать причины сего странного поведения. А если со сслыками или примером кода - то вообще замечательно!
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.02.2021, 10:31
Ответы с готовыми решениями:

Как убрать уведомления на странице оформления заказа woocommerce
Здравствуйте, уважаемые форумчане! Как убрать на странице оформления заказа надписи &quot;Уже покупали?...

Появилось пустое место на странице оформления заказа, сайт на битрикс
Добрый день всем! При оформлении заказа все поля форм уехали вниз ...

Компонент оформления заказа sale.order.ajax. Обработать новую ошибку в оформлении заказа
Добрый день, последняя надежда на данный форум. Мне нужно получать &quot;хороший&quot; адрес доставки, для...

Шаги оформления заказа
Доброго времени суток. Пишу инет магаз на yii2. Столкнулся с проблемкой реализации пошагового...

1
220 / 173 / 115
Регистрация: 19.01.2015
Сообщений: 524
21.02.2021, 16:13 2
Лучший ответ Сообщение было отмечено StudentOfChrist как решение

Решение

https://mag-pool.ru/wp-content... put.min.js
тут вместо скрипта какая-то фигня

https://cdn.jsdelivr.net/npm/j... put.min.js
Вот отсюда загрузите нормальный скрипт и замените его у себя.
1
21.02.2021, 16:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.02.2021, 16:13
Помогаю со студенческими работами здесь

Woocomerce страница оформления заказа
не выводит страницы корзина и оформление заказа, при переходе на эти страницы выводит главную...

Создание формы оформления заказа
Здравствуйте ув. Форумчани. Передо мной стоит непосильная задача, над которой уже 3-й день сижу. А...

Перепрыгивает раздел оформления заказа
Добрый вечер! Появилась проблема при оформлении заказа. Почему-то пропускается шаг выбора:...

Ошибка в форме оформления заказа
Приветствую вас, уважаемые форумчане! возникла очень сложная для меня ситуация. есть часть кода...

Доработка страницы оформления заказа
Здравствуйте Необходимо произвести доработку страницы оформления заказа на сайте под Opencart...

Шаблон письма оформления заказа
Есть шаблон письма оформления заказа,подскажите можно ли добиться того что приходило и изображение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru