Woocommerce 优惠券管理
Woocommerce coupoun management
有谁知道我怎样才能制作这样的优惠券或以前做过吗?
我想制作基于 % 的折扣券。
- 您可以将优惠券添加到促销产品,但它应该使用该产品的全价并从那里计算,而不是像双倍折扣(促销产品 + 基于百分比的折扣(有优惠券))
有什么想法,如何实现?
是的,可以将此代码添加到您的 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;
}
有谁知道我怎样才能制作这样的优惠券或以前做过吗?
我想制作基于 % 的折扣券。
- 您可以将优惠券添加到促销产品,但它应该使用该产品的全价并从那里计算,而不是像双倍折扣(促销产品 + 基于百分比的折扣(有优惠券))
有什么想法,如何实现?
是的,可以将此代码添加到您的 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;
}