Как сделать маску ввода телефонного номера?
когда выполняется скрипт в хедере, элемент #billing_phone еще не создан браузером, вот и не работает.
обернуть надо$(document).ready(function() {
$("#billing_phone").mask("(999) 99-99-999");


$("#billing_phone").on("blur", function() {
    var last = $(this).val().substr( $(this).val().indexOf("-") + 1 );
    
    if( last.length == 3 ) {
        var move = $(this).val().substr( $(this).val().indexOf("-") - 1, 1 );
        var lastfour = move + last;
        
        var first = $(this).val().substr( 0, 9 );
        
        $(this).val( first + '-' + lastfour );
    }
});
}
или переместить ваш код в футер
или переместить ваш код в футер
или использовать delegate
api.jquery.com/delegateDescription: Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements.
хотя если элемент единственный, судя по селектору правильней будет послушать предыдущего оратора -))