我需要手动设置折扣而不使用优惠券。
我已经检查了Github中的Woocommerce源,我发现它使用" set_discount_total"功能,但它不起作用。
我尝试了.input-with-button {
display: flex;
width: 100px;
border: 5px solid blue;
margin-bottom: 10px;
}
.input-with-button input {
width: 100%;
}
和<div class='input-with-button'>
<div>Test</div>
</div>
<div class='input-with-button'>
<input>
</div>
,但没有。
这是我的代码:
WC()->cart->set_discount_total(15)
实际上我已经找到了一种方法,它可以工作,但我不喜欢这些代码:
$order->set_discount_total(15);
答案 0 :(得分:0)
这是此答案中的一个代码片段,我已使用它并且效果很好。 How to add discount to cart total?
// 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);
}