我们修改了Woocommerce中的结帐流程,以便客户在送货或商店取货之间进行选择。
我正在使用 woocommerce_calculate_totals 来检查客户选择的方法,如果用户选择了商店提货,我想将运费设置为0
我正在使用以下代码。
add_action('woocommerce_calculate_totals', function($order) {
/*
* We need to check if the user selected local delivery, which would be added to the request string
* If no store pick-up is selected, then we don't need to display shipping calculations
*/
global $woocommerce;
if(!empty($_POST['post_data'])) {
if(strpos($_POST['post_data'], 'local-delivery')) {
} else {
$woocommerce->cart->shipping_total = 0.00;
$woocommerce->cart->shipping_tax_total = 0.00;
}
}
}, 40, 1);
如果用户选择本地送货,则会计算运费。但是,如果用户切换回提取,Woocommerce不会消除运费。
有什么我想念的吗?