通过$ cart-> add_fee()添加的WooCommerce折扣正在降低订阅产品价格

时间:2019-06-27 04:02:34

标签: wordpress woocommerce

我的“立即购买”按钮转到“结帐”页面,并自动在目标产品之外添加订阅产品。添加订阅产品后,由于订阅产品,我还提供25%的折扣。折扣是根据“购物车总计”计算的,应该是一次性的。订阅产品总共显示0.00,因为它有5天的试用期。但是,当我收到付款收据时,发现订购产品的价格也降低了25%...这不是故意的。折扣应该只在购物车总数上,不应该影响订购产品的价格...任何人都可以给我一些指导吗?

这是折扣代码:

/**
 *
 * CART DISCOUNT FUNCTION
 *
 */

function discount_based_on_product( $cart ) {

   $product_id = get_field('woocom_product_id', 'option');


   $product_cart_id = WC()->cart->generate_cart_id( $product_id );
   $in_cart = WC()->cart->find_product_in_cart( $product_cart_id );

   if ( $in_cart ) {
        // Collecting Product ID from ACF
        $discount_percent = get_field('woocom_order_bump_discount', 'option');

        // Cart Total
        $total = $cart->cart_contents_total;
        // Discount Calculation 
        $discount = $total * $discount_percent * 0.01;
        // Add the discount 

        $cart->add_fee(__( $discount_percent . '% Discount', 'woocommerce'), -$discount );  

   }


}

add_action('woocommerce_cart_calculate_fees', 'discount_based_on_product', 10, 1);

0 个答案:

没有答案