Woocommerce принудительная бесплатная доставка на основе количества корзин и категорий корзин - PullRequest
0 голосов
/ 29 ноября 2018

Как я могу принудительно применить бесплатную доставку , основываясь на моей конкретной условной корзине?

Мои условные (что работает):

  • Если 4 товара в корзине и НИКАКИЕ товары в корзине относятся к категории рождество ...

Я не могу получить бесплатную доставку, которая будет применена.Нужно ли использовать для этого хук woocommerce_cart_calculate_fees?

add_filter( 'woocommerce_calculated_total', 'calculated_total', 10, 2 );
function calculated_total( $total, $cart ) {
    $taster_count = 4;
    $item_count   = $cart->get_cart_contents_count();
    $chistm_count = 0;

    foreach ( $cart->get_cart() as $cart_item ) {
        if ( ! has_term( 'christmas', 'product_cat', $cart_item['product_id'] ) ) {
            $chistm_count += $cart_item['quantity'];
        }
    }
    if( $taster_count == $item_count && $chistm_count == $taster_count  )
        $discount = 3.00;
        $cart->add_fee( 'You subscribed! Free shipping applied!', -$discount);
        return 10;
    return $total;
}

1 Ответ

0 голосов
/ 30 ноября 2018

Вы можете использовать woocommerce_package_rates крюк вместо woocommerce_calculated_total

, при этом ваше состояние отменяет все методы, кроме бесплатной доставки.

Надеюсь, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...