基于购物车金额的累进百分比折扣
Progressive percent discount based on cart amount
我正在尝试为 WooCommerce 制作一个简单的折扣代码,让您在购买前享受百分比折扣。假设如果您添加价值 100 美元的产品,您将获得 2% 的折扣,如果您添加价值 250 美元的产品,您将获得 4%,等等。
我唯一找到的是:
// Hook before calculate fees
add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');
/**
* Add custom fee if more than three article
* @param WC_Cart $cart
*/
function add_custom_fees( WC_Cart $cart ){
if( $cart->cart_contents_count < 3 ){
return;
}
// Calculate the amount to reduce
$discount = $cart->subtotal * 0.1;
$cart->add_fee( 'You have more than 3 items in your cart, a 10% discount has been added.', -$discount);
}
但无法设法使其与修改挂钩的价格一起使用。
我怎样才能做到这一点?
以下是使用基于购物车小计(不含税)的条件来添加此累进百分比作为负费用的方法,因此折扣:
add_action( 'woocommerce_cart_calculate_fees','cart_price_progressive_discount' );
function cart_price_progressive_discount() {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$has_discount = false;
$stotal_ext = WC()->cart->subtotal_ex_tax;
// Discount percent based on cart amount conditions
if( $stotal_ext >= 100 && $stotal_ext < 250 ) {
$percent = -0.02;
$percent_text = ' 2%';
$has_discount =true;
} elseif( $stotal_ext >= 250 ) {
$percent = -0.04;
$percent_text = ' 4%';
$has_discount =true;
}
// Calculation
$discount = $stotal_ext * $percent;
// Displayed text
$discount_text = __('Discount', 'woocommerce') . $percent_text;
if( $has_discount ) {
WC()->cart->add_fee( $discount_text, $discount, false );
}
// Last argument in add fee method enable tax on calculation if "true"
}
这在您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。
此代码已经过测试并且有效。
相似:
我正在尝试为 WooCommerce 制作一个简单的折扣代码,让您在购买前享受百分比折扣。假设如果您添加价值 100 美元的产品,您将获得 2% 的折扣,如果您添加价值 250 美元的产品,您将获得 4%,等等。
我唯一找到的是:
// Hook before calculate fees
add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');
/**
* Add custom fee if more than three article
* @param WC_Cart $cart
*/
function add_custom_fees( WC_Cart $cart ){
if( $cart->cart_contents_count < 3 ){
return;
}
// Calculate the amount to reduce
$discount = $cart->subtotal * 0.1;
$cart->add_fee( 'You have more than 3 items in your cart, a 10% discount has been added.', -$discount);
}
但无法设法使其与修改挂钩的价格一起使用。
我怎样才能做到这一点?
以下是使用基于购物车小计(不含税)的条件来添加此累进百分比作为负费用的方法,因此折扣:
add_action( 'woocommerce_cart_calculate_fees','cart_price_progressive_discount' );
function cart_price_progressive_discount() {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$has_discount = false;
$stotal_ext = WC()->cart->subtotal_ex_tax;
// Discount percent based on cart amount conditions
if( $stotal_ext >= 100 && $stotal_ext < 250 ) {
$percent = -0.02;
$percent_text = ' 2%';
$has_discount =true;
} elseif( $stotal_ext >= 250 ) {
$percent = -0.04;
$percent_text = ' 4%';
$has_discount =true;
}
// Calculation
$discount = $stotal_ext * $percent;
// Displayed text
$discount_text = __('Discount', 'woocommerce') . $percent_text;
if( $has_discount ) {
WC()->cart->add_fee( $discount_text, $discount, false );
}
// Last argument in add fee method enable tax on calculation if "true"
}
这在您的活动子主题(或主题)的 function.php 文件中或任何插件文件中。
此代码已经过测试并且有效。
相似: