好的,所以我正在尝试编写一个过滤器或挂钩,根据购物车中商品的总数量来修改购物车的总金额。例如,如果购物车中有三个商品,我想从总订单中扣除20美元。以下是我到目前为止的代码,非常感谢任何帮助!
add_filter('woocommerce_cart_contents_total', 'bundle_deals');
function bundle_deals( $cart_contents_total, $cart_contents_count) {
global $woocommerce;
if ($woocommerce->cart->get_cart()->cart_contents_count <= 3) {
$cart_contents_total = $woocommerce->cart->get_cart()->cart_contents_total - 20.00;
}
return $cart_contents_total;
}
答案 0 :(得分:0)
总金额可以从以下挂钩更改。
add_action('woocommerce_calculate_totals', array($this, 'calculate_totals'), 10, 1);
function calculate_totals($totals){
//your code
}
答案 1 :(得分:0)
function woocommerce_cart_subtotal( $cart_subtotal, $compound, $obj ){
$t = 0;
foreach ( $obj->cart_contents as $key => $product ) :
$product_price = $product['line_total'];
foreach ( WC()->cart->get_coupons( 'order' ) as $code => $coupon ) :
$product_price = 19;//wpq_9522_discount( $product['line_total'], $coupon->discount_type, $coupon->amount );
endforeach;
$t += $product_price;
endforeach;
return $cart_subtotal;//( $t > 0 ) ? sprintf( '<s>%s</s> %s',
$cart_subtotal, wc_price( $t ) ) : $cart_subtotal ;
}
add_filter( 'woocommerce_cart_subtotal', 'woocommerce_cart_subtotal', 99, 3 );