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

Решено В доставке как убрать "Бесплатно"

palladin

Новичок
Можно и все по другому решить, не отключая Saphali Woocommerce Russian

в includes/wc-cart-functions.php:287
$label .= ' (' . __( 'Free', 'woocommerce' ) . ')';

Отмеченное красны удали и будет тебе счастье :)
По крайней мере, мне помогло
хелп плиз,в файле wc-cart-functions.php:287 нет такой строки тема sport ,Saphali Woocommerce Russian стоит получается нужно убрать 2 галочки самовывоз и бесплатная доставка и все это выбирать через плагин Woocommerce Shipping Options ekran.JPGekran.JPG
 
Последнее редактирование:

palladin

Новичок
хелп плиз,в файле wc-cart-functions.php:287 нет такой строки тема sport ,Saphali Woocommerce Russian стоит получается нужно убрать 2 галочки самовывоз и бесплатная доставка и все это выбирать через плагин Woocommerce Shipping Options Посмотреть вложение 4095Посмотреть вложение 4095
решил вопрос спасибо..просто галочку поставил
 

Stork.71

Гуру
Местный
Код:
add_filter( 'woocommerce_cart_shipping_method_full_label', 'remove_local_pickup_free_label', 10, 2 );
function remove_local_pickup_free_label($full_label, $method){
    $full_label = str_replace("(Бесплатно!)","",$full_label);
return $full_label;
}
В файл functions.php темы
Наверное раньше это был отличный рабочий код, для новой версии не подходит.
Сейчас вместо "Бесплатно!" отображается лэйба "0 ₽" или "0 ₴;" в зависимости от включенной валюты - рубль или гривна. Вышеуказанным кодом убрать "нолик" получается.
А как выловить символ валюты? я так понимаю, они как-то по хитрому кодированы. Подсмотреть можно в одной из функций:
array( 'code' => 'RUB', 'symbol' => '₽', 'name' => __( 'Russian Ruble', 'woocommerce' ) ),
array( 'code' => 'UAH', 'symbol' => '₴', 'name' => __( 'Ukrainian Hryvnia', 'woocommerce' ) ),
но что дальше делать с этими ₴ мне не совсем понятно.
 

Stork.71

Гуру
Местный
Актуальный рабочий код чтобы убрать приписку "0 р" после стоимости доставки если она не определена.
PHP:
/* На странице checkout убираем "0 р" из стоимости доставки когда стоимость не указана. */
/* В коде задублированы гривна и рубль в символьном виде и юникодовской кодировке, так как на разных серверах работает по-разному. */
function remove_local_pickup_free_label($full_label, $method){
    $search  = array(
': <span class="woocommerce-Price-amount amount">0&nbsp;<span class="woocommerce-Price-currencySymbol">&#8381;</span></span>', 
': <span class="woocommerce-Price-amount amount">0&nbsp;<span class="woocommerce-Price-currencySymbol">&#8372;</span></span>', 
': <span class="woocommerce-Price-amount amount">0&nbsp;<span class="woocommerce-Price-currencySymbol">₽</span></span>', 
': <span class="woocommerce-Price-amount amount">0&nbsp;<span class="woocommerce-Price-currencySymbol">₴</span></span>'
);
    $full_label = str_replace($search,"",$full_label);
return $full_label;
}
add_filter( 'woocommerce_cart_shipping_method_full_label', 'remove_local_pickup_free_label', 200, 2 );

Примечательно, что у меня на локалхосте работает только с юникодовскими обозначениями рубля и гривны (&#8381; и &#8372; ), а на живом сайте - только с символьными (, ). Поэтому пришлось продублировать для разных вариантов чтобы код был более универсальным.
 
Последнее редактирование:
  • Like
Реакции: D&B
Сверху Снизу