【发布时间】:2021-12-10 01:39:25
【问题描述】:
我正在努力更改默认选择的运输选项。仅当客户的购物车中的金额超过 70 美元时,才会显示“免费送货”送货选项。如果购物车上的金额低于 70 美元,则送货选项将不会显示在送货选项中。
如果客户有超过 70 美元或更多,“免费送货”选项将显示,它应该是默认选择的送货选项。
我尝试添加以下 sn-p,但它似乎对我不起作用,或者修改 ID 时可能有错误(不确定)。
add_action( 'woocommerce_before_cart', 'set_default_chosen_shipping_method', 5 );
function set_default_chosen_shipping_method(){
//
if( count( WC()->session->get('shipping_method_0')['rates'] ) > 0 ){
foreach( WC()->session->get('shipping_method_0')['rates'] as $rate_id =>$rate)
if($rate->method_id == 'free_shipping30'){
$default_rate_id = array( $rate_id );
break;
}
WC()->session->set('chosen_shipping_methods', $default_rate_id );
}
}
我得到了这个sn-p的想法here
提前谢谢你!!
【问题讨论】:
-
WooCommerce 提供免费送货选项,购物车价值最低。不需要代码。它是内置的。/wp-admin/admin.php?page=wc-settings&tab=shipping > 编辑区域 > 启用免费送货 > 将最低订单金额设置为 70
-
明白了,我已经设置了免运费,设置了最低订购金额。我面临的唯一问题是,如果客户达到或超过获得免费送货的最低金额,则应在送货选项中自动选择免费送货选项。现在,即使送货选项上有免费送货选项,它也会自动选择“一流邮件”送货选项。我希望我能解释清楚:D
标签: php wordpress woocommerce hook-woocommerce shipping-method