产品正常价格优惠券折扣(非促销价)

时间:2017-04-12 18:20:10

标签: php wordpress woocommerce product cart

在WooCommerce中,我的产品的正常价格为X,销售价格为Y.我想添加一张优惠券,其代码价格为45美元,可以从正常价格X中扣除。

我希望优惠券能够忽略销售价格,所以我得到X- $ 45 Y- $ 45。但是当没有使用优惠券时,使用价格Y.

我发现以下内容适用于百分比折扣,但我似乎无法使其适用于固定的产品折扣价格。

add_filter('woocommerce_coupon_get_discount_amount', 'woocommerce_coupon_get_discount_amount', 10, 5 );
function woocommerce_coupon_get_discount_amount( $discount, $discounting_amount, $cart_item, $single, $coupon ) {
    if ($coupon->type == 'percent_product' || $coupon->type == 'percent') {
        global $woocommerce;
        $cart_total = 0;

        foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $cart_item ) {

         $variable_product1= new WC_Product_Variation( $cart_item["variation_id"] );

         $cart_total += $variable_product1 ->regular_price * $cart_item['quantity'];
        } 
        $discount = round( ( $cart_total / 100 ) * $coupon->amount, $woocommerce->cart->dp );
        return $discount;
    }
    return $discount;
}

1 个答案:

答案 0 :(得分:4)

这似乎检查优惠券,然后在应用优惠券之前将购物车价格更改为正常价格而不是折扣价格(从此应用程序中的woocommerce动态定价中获得)。放在functions.php中

{{1}}