我想在WooCommerce订单流程中提供为客户在家中提供服务的可能性。现在,我已经在提供邮政编码的地方创建了一种送货方式,但是我需要有可能在结帐时选择送货方式(最好是在输入地址之后)。
我已经在结帐中看到了许多可能的截图(请参见图片),并找到了一些有关如何在结帐中实现运输成本的说明(例如:https://websitedepot.com/moving-shipping-rates-woocommerce-checkout/)。但是,没有任何效果。
也许有人可以帮助我实现这一目标。非常感谢!
将所有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”
注意==>这是我们通过绑定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');
});