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

Как вместо 0, при указании цены, выводить цену "Бесплатно", а если не указывать, чтобы было пусто

Lekrayt

Новичок
Добрый день.

Прошу помощи знатоков, делается сайт на котором будут 2 раздела, один раздел с товарами, где требуется указывать цены от 0 (тобишь Бесплатно) до каких то цен (100, 500, 1500 рублей и т.д.) и второй раздел, там будут карточки организаций, где не требуется выводить цены, т к это будет только информация.
И так, для большего понимания:
1. раздел с товарами, в карточки товара, указывается "Простой товар" и будет виртуальный, соответственно какие то товары можно скачать бесплатно, а какие то будут продаваться и будут оформляться на них заказы и оплачиваться с карт. В поле базовая цена
2. раздел информационный, в карточки товара, указывается "Партнерский товар" и будут ссылки с партнерок, но там цены не должно быть никакой, т к там будут только условия приобретения какого-либо товара и переход на сайт продавца.

Снимок2.JPG
Вот где м.видео - тут так и должно быть, т к это партнерская информация, можно либо перейти на сайт, либо зайти в карточку и посмотреть предложения магазина.
Где гармония-сна - тут вместо 0, должно быть указанно "Бесплатно", т к это купон на сайт партнер, его можно скачать и применить при покупке, соответственно это должно все происходить через корзину. В корзине указано, цена товара 0 и просто оформления как при покупке происходит, только не надо ничего оплачивать.

Как это сделать? Ломаю голову уже давно, знаю как сделать, чтобы везде было "Бесплатно" написано, но чтобы так разделить, не могу сообразить
Рад буду любой помощи
 

ADv

Гуру
Местный
Добрый день.

Прошу помощи знатоков, делается сайт на котором будут 2 раздела, один раздел с товарами, где требуется указывать цены от 0 (тобишь Бесплатно) до каких то цен (100, 500, 1500 рублей и т.д.) и второй раздел, там будут карточки организаций, где не требуется выводить цены, т к это будет только информация.
И так, для большего понимания:
1. раздел с товарами, в карточки товара, указывается "Простой товар" и будет виртуальный, соответственно какие то товары можно скачать бесплатно, а какие то будут продаваться и будут оформляться на них заказы и оплачиваться с карт. В поле базовая цена
2. раздел информационный, в карточки товара, указывается "Партнерский товар" и будут ссылки с партнерок, но там цены не должно быть никакой, т к там будут только условия приобретения какого-либо товара и переход на сайт продавца.

Посмотреть вложение 4850
Вот где м.видео - тут так и должно быть, т к это партнерская информация, можно либо перейти на сайт, либо зайти в карточку и посмотреть предложения магазина.
Где гармония-сна - тут вместо 0, должно быть указанно "Бесплатно", т к это купон на сайт партнер, его можно скачать и применить при покупке, соответственно это должно все происходить через корзину. В корзине указано, цена товара 0 и просто оформления как при покупке происходит, только не надо ничего оплачивать.

Как это сделать? Ломаю голову уже давно, знаю как сделать, чтобы везде было "Бесплатно" написано, но чтобы так разделить, не могу сообразить
Рад буду любой помощи
Допишите условие на проверку текущей категории (раздела). Если категория Х, тогда Бесплатно.
Либо же проверку на тип товара.
 

Lekrayt

Новичок
Допишите условие на проверку текущей категории (раздела). Если категория Х, тогда Бесплатно.
Либо же проверку на тип товара.

А можно поподробнее, я это условие в интернете нашел, я не особо силен в программировании, вот что я указал в файле

add_filter( 'woocommerce_get_price_html', 'product_price_free_zero_empty', 100, 2 );

function product_price_free_zero_empty( $price, $product ){
if ( '' === $product->get_price() || 0 == $product->get_price() ) {
$price = '<span class="woocommerce-Price-amount amount">Бесплатно</span>';
}
return $price;
}

как и что надо дописать, чтобы работало корректно?

Спасибо
 
  • Like
Реакции: D&B

Lekrayt

Новичок
Кто поможет со скриптом? я не особо силен в программировании
 
Сверху Снизу