繁体   English   中英

WooCommerce - 在结帐页面上显示运输

[英]WooCommerce - Show Shipping on Checkout Page

我想在 WooCommerce 订单流程中提供在客户家中为客户提供服务的可能性。 现在我已经创建了一个带有邮政编码的送货方式,但我需要在结账时选择送货方式(最好在输入地址后)。

我在结账时看到了很多截图(见图片),并找到了一些如何在结账中实现运费的说明(例如: https : //websitedepot.com/moving-shipping-rates-woocommerce-结帐/ )。 然而,没有任何效果。

也许有人可以帮助我实现这一点。 非常感谢!

来源:https://ehost.net/divi-news/how-to-configure-your-woocommerce-shipping-options/

需要通过将该文件复制到您的子主题来覆盖所有 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 页面中找到 name="calc_shipping" 的按钮并在该按钮中添加 id 标签 ====> id ="calc_shipping"

注意 ==> 这是我们在 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');
            });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM