首页 文章

在Woocommerce结帐页面上显示运费计算器

提问于
浏览
0

我想在结帐页面上显示运费计算器,Woocommerce默认运费计算器,当我们启用woocommerce-> setting-> shippings->运输选项 - >在购物车页面启用计算时显示购物车页面上的计算,

怎么显示可以任何身体告诉,

提前致谢 .

1 回答

  • 1

    每个woocommerce文件都需要通过将该文件复制到您的子主题中来覆盖 .

    此外,在woocommerce后端必须选中选项,告诉在购物车页面上显示运费计算器(因为这将显示计算器)

    在第一个tr之前将以下代码添加到woocommerce / cart / cart-shipping.php文件中(您将在文件中找到)

    if(is_checkout() && !$show_shipping_calculator && 'yes' === get_option( 'woocommerce_enable_shipping_calc' )  ) {
            $show_shipping_calculator = true;
    }
    

    将以下代码添加到您的子主题的fuctions.php中

    add_action( 'wp_enqueue_scripts', 'test_test' );
            function test_test() {
                if( is_checkout() ) {
                    if( wp_script_is( 'wc-cart', 'registered' ) && !wp_script_is( 'wc-cart', 'enqueued' ) ) {
                    wp_enqueue_script( 'wc-cart' );
                }
            }
        }
    

    现在我们需要在运费计算器的更新总计按钮中添加id标签,在woocommerce / cart / shipping-calculator.php页面找到按钮,其名称=“calc_shipping”并在该按钮中添加id标签====> id = “calc_shipping”

    Note ==> 这是由我们在jQuery中绑定按钮单击事件完成的,您可以使用任何其他替代方式(如果需要)

    现在最后一步,

    在您的子主题的js文件中添加以下jquery代码

    jQuery(document).on('click','#calc_shipping',function(e){
    
                        e.preventDefault();
    
                        var shipping_country_val    =    jQuery("#calc_shipping_country").val();
                        var shipping_state_val      =    jQuery("#calc_shipping_state").val();
                        var shipping_city_name      =    jQuery("#calc_shipping_city").val();
                        var shipping_postcode       =    jQuery("#calc_shipping_postcode").val();
    
                        jQuery("#billing_country").val(shipping_country_val);
                        jQuery("#billing_state").val(shipping_state_val);
                        jQuery('#billing_city').val(shipping_city_name);
                        jQuery('#billing_postcode').val(shipping_postcode);
                        jQuery("#shipping_country").val(shipping_country_val);
                        jQuery("#shipping_state").val(shipping_state_val);
                        jQuery('#shipping_city').val(shipping_city_name);
                        jQuery('#shipping_postcode').val(shipping_postcode);
    
                        $('#billing_country , #shipping_country').trigger('change');
                        $('#billing_state, #shipping_state').trigger('change');
                });
    

相关问题