Woocommerce формат отображения цены корзины рассчитывается сборов - PullRequest
0 голосов
/ 29 ноября 2018

Я вручную изменяю цену всей корзины (до £ 10), когда в корзине 4 товара и ни один из товаров не относится к категории: рождество .

По сути, это дает пользователю скидку + "Бесплатная доставка" .Однако общая сумма не совпадает, и это может вводить пользователя в заблуждение, так как доставка по-прежнему отображается как начисленная.

Есть ли способ вручную применить пустышку "Бесплатная доставка применена - £ 3,00" в корзину на основе этих условий?Просто чтобы сделать его более понятным для пользователя?

Я понимаю, что в настоящее время я использую крючок для изменения цены вручную, но не для форматированного отображения цены.

enter image description here

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  )

        //HERE TRY TO DISPLAY A DUMMY FREE SHIPPING MESSAGE
        $discount = 3.00;
        $cart->add_fee( 'Taster Box Offer! Free Shipping', -$discount);

        return 10;
    return $total;
}

1 Ответ

0 голосов
/ 02 февраля 2019

Разобрался, как это решить.Я вручную добавил woocommerce_cart_calculate_fee в размере 3,00 долл., А затем минус это от общей суммы, чтобы действовать как «отрицательная плата», то есть скидка.

    add_filter( 'woocommerce_cart_calculate_fees', 'add_recurring_postage_fees2', 10, 1 );

function add_recurring_postage_fees2(WC_Cart $cart ) {

  $items_count  = WC()->cart->get_cart_contents_count();

    if ( $items_count == 4 ) {
        $discount = 3.00;
        $cart->add_fee( 'Taster Box Free Shipping', -$discount);
        return;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...