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

Checkout page. Удалить "бесплатно" в выборе способа доставки

Image CMS
#1
Всем привет!

В корзине, при выборе способа доставки выдает "(Бесплатно").
корзина.png
Это происходит, если в настройках доставки поставить ноль для стоимости доставки
(и для местная доставка, и самовывоз, и единая ставка)
доставка скрин.png


Помогите, плиз.
 
#3
не бесплатно
Мысль такая: если выбирается доставка почтой, то покупатель сам оплачивает услуги почты при получении.
 

kimad

Опытный
Местный
#5
Можно поступить по другому и воспользоваться недорогим расширением от Saphali - Дополнительные методы доставки. При помощи плагина можно добавить дополнительные методы доставки и необходимые примечания для покупателя, например, так:

 
Последнее редактирование:

Stork.71

Гуру
Местный
#6
А можно бесплатно самостоятельно за 10 секунд прописать в functions.php такой кодец:
PHP:
/**
* Переписываем функцию формирования полной лейбы для методов доставки с ценой чтобы не выводилась надпись (Бесплатно!)
**/
add_filter ('woocommerce_cart_shipping_method_full_label', 'wc_cart_totals_shipping_method_label_nofree', 10, 2);
function wc_cart_totals_shipping_method_label_nofree( $label, $method ) {
    $label = $method->label;

    if ( $method->cost > 0 ) {
        if ( WC()->cart->tax_display_cart == 'excl' ) {
            $label .= ': ' . wc_price( $method->cost );
            if ( $method->get_shipping_tax() > 0 && WC()->cart->prices_include_tax ) {
                $label .= ' <small>' . WC()->countries->ex_tax_or_vat() . '</small>';
            }
        } else {
            $label .= ': ' . wc_price( $method->cost + $method->get_shipping_tax() );
            if ( $method->get_shipping_tax() > 0 && ! WC()->cart->prices_include_tax ) {
                $label .= ' <small>' . WC()->countries->inc_tax_or_vat() . '</small>';
            }
        }
    } elseif ( $method->id !== 'free_shipping' ) {
        $label .= ' ';
    }
     return $label;
}
ну может както так?
в woocommerce/includes/wc-cart-functions.php:287
$label .= ‘ (‘ . __( ‘Free‘, ‘woocommerce’ ) . ‘)‘;

Отмеченное красны удалить
... и не забыть повторить процедуру при обновлении woocommerce ;)

Кстати, о сафали'вских "дополнительных методах доставки". Есть ли простое решение для жадных ( :) ) как добавить такие дополнительные поля-подписи к методам доставки? Я так понимаю, они работают как примечания к способам оплаты. Красивая весщч!
 
Сверху Снизу