在没有优惠券的情况下在WooCommerce中设置折扣

时间:2018-02-13 22:56:08

标签: wordpress woocommerce discount

我需要手动设置折扣而不使用优惠券。

我已经检查了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);

1 个答案:

答案 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);
}