Woocommerce 优惠券管理

Woocommerce coupoun management

有谁知道我怎样才能制作这样的优惠券或以前做过吗?

我想制作基于 % 的折扣券。

  1. 您可以将优惠券添加到促销产品,但它应该使用该产品的全价并从那里计算,而不是像双倍折扣(促销产品 + 基于百分比的折扣(有优惠券))

有什么想法,如何实现?

是的,可以将此代码添加到您的 functions.php 文件中。在下面的代码中,“五十”是使用的优惠券名称。在 woo commerce 中创建基于百分比的优惠券。

add_filter('woocommerce_coupon_get_discount_amount', 'woocommerce_discount_from_the_original_price', 10, 5 );

function woocommerce_discount_from_the_original_price( $discount, $discounting_amount, $cart_item, $single, $coupon ) {

  if ($coupon->discount_type == 'percent' && $coupon->code == 'fifty') {

    $discount_percentage = $coupon->amount / 100;
    $item                = wc_get_product($cart_item['product_id']);

    if ($item) {
      if ( $item->is_type( 'simple' ) ) {
        $sale_price    = $item->sale_price;
        $regular_price = $item->regular_price;
        if ( ($sale_price && $regular_price) && ($sale_price !==  $regular_price) ) {
          $discount_from_regular_price = $regular_price * $discount_percentage; 
          $discount = $discounting_amount - ($discount_from_regular_price * $cart_item['quantity']); 
        }

      } elseif ( $item->is_type( 'variable' ) ) {
        $variable_product = new WC_Product_Variation( $cart_item["variation_id"] );
        $sale_price    = $variable_product->sale_price;
        $regular_price = $variable_product->regular_price;
        
        if ( ($sale_price && $regular_price) && ($sale_price !==  $regular_price) ) {
          $discount_from_regular_price = $regular_price * $discount_percentage;
          $discount = $discounting_amount - ($discount_from_regular_price * $cart_item['quantity']);
        }

      }
    }

  }
  return $discount;
}