該代碼應該檢查固定優惠券金額是否大于購物車小計。如果是,請從運費總額中減去剩余的價格。它在我的函式檔案中。
add_filter('woocommerce_package_rates', 'custom_shipping_costs', 10, 2 );
function custom_shipping_costs( $rates, $package ){
//get the shipping total, cart subtotal and coupon amount
$dostava = $cart->shipping_total;
$iznos = $woocommerce->cart->get_cart_subtotal();
$kuponi = $woocommerce->cart->discount_total;
//subtract the coupon amount from cart subtotal
$razlika = $iznos - $kuponi;
//now check if it's higher than what's in the cart, if yes, set the new shipping costs
if($razlika < 0){
$novadostava = $dostava - $razlika;
$cart->shipping_total = $novadostava;
}
return $rates;
}
不幸的是..它不起作用。有什么建議?
uj5u.com熱心網友回復:
這是一個示例,因為如果必須定義等,還有更多需要考慮的稅率運輸方式,但當前示例可以正常作業我們有價格為 18 美元的產品和折扣 20 美元的優惠券,最后我們得到 15 美元的運費總共 13 美元 - https://prnt.sc/365xV2BWx2wA
add_filter('woocommerce_package_rates', 'custom_shipping_costs');
function custom_shipping_costs( $rates ){
$cart = WC()->cart;
if($rates):
foreach($rates as $rate_key => $rate):
$dostava = $rate->get_cost();
endforeach;
endif;
$iznos = $cart->subtotal;
$kuponi = $cart->get_coupons();
if($kuponi):
foreach($kuponi as $kupon):
$kuponi_amount = $kupon->get_amount();
endforeach;
endif;
$razlika = $iznos - $kuponi_amount;
$razlika = abs($razlika);
if($razlika > 0){
$novadostava = $dostava - $razlika;
$rates[$rate_key]->cost = $novadostava;
}
return $rates;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/439947.html
下一篇:如何將URL重定向到PDF檔案
