• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Отключить расчет доставки в корзине

deller

Форумчанин
Всем привет.

Может кто подсказать как можно отключить расчет доставки в корзине.
Чтобы не выводился этот я блок я сделал, удалил часть кода, но система все равно расчеты производит и показывает разные суммы итоговые
 

searchingman

Гуру
Местный
Для отключения доставки в корзине и странице оформления в functions.php темы добавьте код
PHP:
// удалить доставку в корзине и на странице оформления заказа
add_filter( 'woocommerce_cart_needs_shipping', false);
 

deller

Форумчанин
PHP:
add_filter( 'woocommerce_cart_needs_shipping', 'filter_woocommerce_cart_needs_shipping_new', 10, 1);
function filter_woocommerce_cart_needs_shipping_new($needs_shipping) {
    return false;
}

Спасибо, но как вы написали не работает, а вот так да.
Но это отключает доставку везде... а нужно отключить только в корзине
 

searchingman

Гуру
Местный
Тогда так
PHP:
add_filter( 'woocommerce_cart_needs_shipping', 'filter_woocommerce_cart_needs_shipping_new');
function filter_woocommerce_cart_needs_shipping_new($needs_shipping) {
    if (is_cart()) return false;
    return true;
}
 

deller

Форумчанин
Точно! спасибо.
А я уже полез искать хуки)) оказалось все проще)
 

Maria

Новичок
Тогда так
PHP:
add_filter( 'woocommerce_cart_needs_shipping', 'filter_woocommerce_cart_needs_shipping_new');
function filter_woocommerce_cart_needs_shipping_new($needs_shipping) {
    if (is_cart()) return false;
    return true;
}

Этот код замечательно убрал расчет из корзины, но в Чекауте возникли проблемы - там все регионы превратились в Array, а самф доставка не отображается
 

Konstantine

Форумчанин
Править код темы или плагина нужно только когда нет других способов и вы всё перепробовали.

В functions.php вашей темы:

PHP:
add_action( 'woocommerce_cart_collaterals', 'remove_cart_totals', 9 );
function remove_cart_totals(){
    // Remove cart totals block
    remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );

    // Add back "Proceed to checkout" button (and hooks)
    echo '<div class="cart_totals">';
    do_action( 'woocommerce_before_cart_totals' );

    echo '<div class="wc-proceed-to-checkout">';
    do_action( 'woocommerce_proceed_to_checkout' );
    echo '</div>';

    do_action( 'woocommerce_after_cart_totals' );
    echo '</div><br clear="all">';
}
 
Сверху Снизу