Как отобразить нулевое значение класса доставки на странице корзины «WooCommerce»

Мне нужна помощь в способе доставки WooCommerce. Как я могу показать значение класса доставки на странице корзины. Позвольте мне немного объяснить мою проблему.

Я добавил фиксированную ставку, чтобы взимать плату за доставку некоторых продуктов, то есть стульев, € 7, которая работает безупречно и отображается на странице корзины как => Доставка: Единая ставка: € 7, но у меня есть несколько стульев, которые можно бесплатно доставлять моим клиентам. Я добавил новый класс, например «Бесплатная доставка», и установил значение 0,00 евро при оформлении заказа, штраф не взимается, но при просмотре клиентом корзины и при отправке в нем отображается только название способа доставки, например «Фиксированная ставка», без каких-либо затрат, поскольку было установлено значение 0,00, что не убеждает клиента, и он считает, что мы скрыли стоимость.

Есть ли способ показать нулевое значение класса доставки или это возможно, чтобы показать имя класса, а не название метода доставки?

 Avishai01 дек. 2016 г., 22:36
Вы уже нашли решение этой проблемы? У меня та же проблема - я хотел бы отобразить «$ 0.00» или «Бесплатно!» вместо "Стандартная доставка"

Ответы на вопрос(2)

Решение Вопроса

Вы можете добавить фильтр, проверяя, равна ли стоимость вашего метода доставки нулю (WooCommerce в настоящее время не выполняет ничего в своей функции, кроме печати этикетки с фиксированной ставкой, если стоимость не превышает ноль), и изменяет вашу этикетку на любую другую. Ты бы хотел:

add_filter( 'woocommerce_cart_shipping_method_full_label', 'add_free_shipping_label', 10, 2 );
function add_free_shipping_label( $label, $method ) {
    if ( $method->cost == 0 ) {
        $label = 'Free shipping'; //not quite elegant hard coded string
    }
    return $label;
}

На основеhttps://stackoverflow.com/a/23581656/8264519 и работает как шарм.

Вот что я сделал.
1.Open\wp-content\plugins\woocommerce\includes\wc-cart-functions.php
2. Поиск поwc_cart_totals_shipping_method_label функция
3.СИМВОЛ ЗАМЕНИТЕif ( $method->cost > 0 ) сif ( $method->cost >= 0 ) и он должен показать стоимость доставки, даже если он установлен на 0.

 Abd Ur Rehman06 дек. 2016 г., 01:36
Ну при обновлении это будет заменено
 SaRiD29 мая 2018 г., 01:35
Никогда не рекомендуется обновлять плагины напрямую, так как все изменения будут перезаписаны при следующем обновлении. Просто создайте дочернюю тему и добавьте фильтр в functions.php

Ваш ответ на вопрос