Отформатируйте номер телефона для выставления счетов на кассе WooCommerce - PullRequest
0 голосов
/ 15 февраля 2019

Для поля выставления счетов WooCommerce, как я могу сделать так, чтобы в этом поле требовалось 9 номеров и вставлялись тире для правильного форматирования телефона?Например, вместо ввода 3053453212 в поле номера телефона отображается: (305-345-3212)

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

На основе " Форматирование номера телефона в форме с использованием кода ответа jquery ", вот способ форматирования биллингового телефона Woocommerce:

add_action('wp_footer', 'format_checkout_billing_phone');
function format_checkout_billing_phone() {
    if ( is_checkout() && ! is_wc_endpoint_url() ) :
    ?>
    <script type="text/javascript">
    jQuery( function($){
        $('#billing_phone').on( 'input focusout', function() {
            var p = $(this).val();

            p = p.replace(/[^0-9]/g, '');
            p = p.replace(/(\d{3})(\d{3})(\d{4})/, "$1-$2-$3");
            $(this).val(p);
        });
    });
    </script>
    <?php
    endif;
}

Код входит в функцию.PHP-файл вашей активной дочерней темы (или активной темы).Проверено и работает.

0 голосов
/ 15 февраля 2019

Вы можете попробовать это

   /** 
    *  Require 9 digit number. Format to 000-000-0000 at submission
    *  stackoverflow/54700465
    */

    add_filter( 'woocommerce_billing_fields', 'wc_filter_phone', 10, 1 );
            function wc_filter_phone( $address_fields ) {
                $address_fields['billing_phone']['min-lenght="9"'];
                $format_number = preg_replace("/^(\d{3})(\d{3})(\d{4})$/", "$1-$2-$3", $address_fields);
            return $format_number;

    }

    // End
...