将优惠券代码应用于最终总金额,而不是购物车总金额:
/*Installtion Chrages Discount */
add_action( 'woocommerce_cart_calculate_fees', 'mysite_box_discount', 10, 1);
function mysite_box_discount( $cart )
{
$installation_price = 100;
$cart->add_fee( __($cartQty.'Installation', 'woocommerce'),$installation_price,false );
global $woocommerce;
if(WC()->cart->get_applied_coupons()){
$coupon_code = WC()->cart->get_applied_coupons();
$coupon = new WC_Coupon($coupon_code[0]);
$coupon_amount = (float) $coupon->amount;
$discount_on_fee = (float) $coupon_amount/100;
$installation_discount = $discount_on_fee*$installation_price;
$cart->add_fee( __($cartQty.'Installation Discount', 'woocommerce'), -$installation_fee_discount,false );
}
}
这适用折扣,但我也需要包括费用在内的全部折扣。