【问题标题】:Replace "state" select field first option text in Woocommerce checkout page替换 Woocommerce 结帐页面中的“状态”选择字段第一个选项文本
【发布时间】:2018-04-06 13:56:32
【问题描述】:

为什么此代码只替换我的账单状态默认值文本而不替换我的发货状态默认选择值文本?

 // Replace text in woo checkout
    function ea_custom_script_woo_checkout(){
    if(is_checkout()){
        echo "<script type=\"text/javascript\" >
            jQuery( document ).ready(function() {
                jQuery('#billing_state option, #shipping_state option').each(function() {
                    var text = jQuery(this).text();
                    jQuery(this).text(text.replace('Seleziona un\'opzione…', 'Seleziona una provincia')); 
                })
            });
        </script>";
    }
}
add_action('wp_footer', 'ea_custom_script_woo_checkout', 90, 1);

【问题讨论】:

    标签: php jquery wordpress woocommerce checkout


    【解决方案1】:

    可能是因为发货字段在开始时被隐藏...请尝试以下操作:

    // Replace state select field placeholder option text in checkout 
    add_action('wp_footer', 'custom_script_in_checkout', 100, 1);
    function custom_script_in_checkout(){
    if( ! is_checkout() ) return;
        ?>
        <script type="text/javascript" >
            jQuery( function($){
                function changeStateOptionText(){
                    $('select[name=billing_state] option, select[name=shipping_state] option').each( function() {
                        if($(this).text() == "Seleziona un'opzione…")
                            $(this).text("Seleziona una provincia");
                    });
                }
                setTimeout( changeStateOptionText, 200);
    
                // To be sure (if shipping fields are hidden)
                $('checkbox[name=ship_to_different_address]').change(function() {
                    changeStateOptionText();
                });
            });
        </script>";
        <?php
    }
    

    代码进入您的活动子主题(或活动主题)的 function.php 文件中。经过测试并且可以工作。

    【讨论】:

      【解决方案2】:

      因为你有两个不同的集合并且每个函数都只为一个集合迭代,你能把集合分开吗

      jQuery('#billing_state option').each(function() {
                      var text = jQuery(this).text();
                      jQuery(this).text(text.replace('Seleziona un\'opzione…',     'Seleziona una provincia')); 
      jQuery('#shipping_state option').each(function() {
                      var text = jQuery(this).text();
                      jQuery(this).text(text.replace('Seleziona un\'opzione…',     'Seleziona una provincia')); 
                  })
      

      【讨论】:

      • 这也不起作用 ''
      • self = jQuery(this); jQuery('#billing_state option').each(function() { var text = self.text(); jQuery(this).text(text.replace('Seleziona un\'opzione...', 'Seleziona una provincia') ); jQuery('#shipping_state option').each(function() { var text = self.text(); jQuery(this).text(text.replace('Seleziona un\'opzione...', 'Seleziona una provincia ')); })
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 2018-07-21
      相关资源
      最近更新 更多