Php WooCommerce-在结账页面上显示配送

Php WooCommerce-在结账页面上显示配送,php,wordpress,woocommerce,checkout,shipping,Php,Wordpress,Woocommerce,Checkout,Shipping,我想在WooCommerce订单流程中提供在客户家中提供服务的可能性。现在我已经创建了一个带有邮政编码的配送方式,但我需要在结帐时选择配送方式(理想情况下是在输入地址后) 我已经看到了许多在结账时可以实现这一点的屏幕截图(见图),并找到了一些如何在结账时实现运费的说明(例如:)。然而,没有任何效果 也许有人能帮我实现这个。 非常感谢 所有woocommerce文件都需要通过将该文件复制到子主题中来覆盖 此外,在woocommerce后端中,必须选中该选项,该选项告知在购物车页面上显示配送计算器(

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

我已经看到了许多在结账时可以实现这一点的屏幕截图(见图),并找到了一些如何在结账时实现运费的说明(例如:)。然而,没有任何效果

也许有人能帮我实现这个。 非常感谢


所有woocommerce文件都需要通过将该文件复制到子主题中来覆盖

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

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

将以下代码添加到子主题的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' );
            }
        }
    }
现在,我们需要在shipping calculator的update totals按钮中添加id标记,在woocommerce/cart/shipping-calculator.php页面中找到名称为“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');
            });

来源:|我已经尝试过了,但它不起作用。请检查jquery冲突和函数是否按照最新主题或php版本正确添加任何东西都正确添加,但唯一能看到的是购物车和签出中的代码:
if(is_checkout()&&!$show_shipping_calculator&'yes'==get_选项('woocommerce_enable_shipping_calc'){$show_shipping_calculator=true;}
我刚刚看到了代码,但它似乎没有任何功能-我不知道为什么…那么一定是对实时环境的检查。
 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');
            });