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

Изменить отображение цены

searchingman

Гуру
Местный
Возникает проблема при назначении второй цены (скидки) на вариативный товар.
Вот это код перестает работать
/**
* This code should be added to functions.php of your theme
**/
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
$price = '';
if ( !$product->min_variation_price || $product->min_variation_price !== $product->max_variation_price ) $price .= '' . _x( ' ', 'min_price', 'woocommerce') . ' ';
$price .= woocommerce_price($product->get_price());
return $price;
}

Короче при назначении скидки "код" уже не работает. Вторая цена не скрывается.Посмотреть вложение 2306 Посмотреть вложение 2307

Распишите более подробно, как должен работать алгоритм. Желательно с примерами.
После этого можно будет комментировать Ваш код.
 
Й

йййй

Guest
Это не мой код:) Код взят выше в этой теме.
Со своей задачей спрятать вторую цену вариативного товара он прекрасно справляется. Вопросов нет, одни благодарности автору кода.
Но как только назначаешь скидку на этот же товар, то почему то вторую цена снова выскакивает. на скриншотах выше думаю все видно
 

searchingman

Гуру
Местный
Это не мой код:) Код взят выше в этой теме.
Со своей задачей спрятать вторую цену вариативного товара он прекрасно справляется. Вопросов нет, одни благодарности автору кода.
Но как только назначаешь скидку на этот же товар, то почему то вторую цена снова выскакивает. на скриншотах выше думаю все видно
Вот такой код должен корректно работать со скидками для вариативного товара
PHP:
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
add_filter('woocommerce_variable_sale_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {

    $prefix = $product->min_variation_price != $product->max_variation_price ? 'от ' : '';
    $price = $product->min_variation_price != $product->min_variation_regular_price ? $prefix.'<del>'. wc_price($product->min_variation_regular_price).'</del> '. wc_price($product->min_variation_price) : $prefix. wc_price($product->min_variation_price);
    return $price;
}
 

searchingman

Гуру
Местный
Вместо 900 руб. - 1200 руб. сделал от 900 руб. - не понравилось. Хочу диапазон: 900 - 1200 руб.
Вот такой код должен подойти
PHP:
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
add_filter('woocommerce_variable_sale_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
    $decimal_separator  = wc_get_price_decimal_separator();
    $thousand_separator = wc_get_price_thousand_separator();
    $decimals           = wc_get_price_decimals();
    $price = $product->min_variation_price != $product->max_variation_price ?  number_format($product->min_variation_price,$decimals, $decimal_separator, $thousand_separator).' - '. wc_price($product->max_variation_price) : wc_price($product->min_variation_price);
    return $price;
}
 
Й

йййй

Guest
Вот такой код должен подойти
PHP:
add_filter('woocommerce_variable_price_html', 'custom_variation_price', 10, 2);
add_filter('woocommerce_variable_sale_price_html', 'custom_variation_price', 10, 2);
function custom_variation_price( $price, $product ) {
    $decimal_separator  = wc_get_price_decimal_separator();
    $thousand_separator = wc_get_price_thousand_separator();
    $decimals           = wc_get_price_decimals();
    $price = $product->min_variation_price != $product->max_variation_price ?  number_format($product->min_variation_price,$decimals, $decimal_separator, $thousand_separator).' - '. wc_price($product->max_variation_price) : wc_price($product->min_variation_price);
    return $price;
}

Спасибо, Вам!:)
Можно только сделать одну корректировку?
Объясню:
раньше показывалось вот так:
1.jpg

с помощью вашего кода стало вот так:
3.jpg

а возможно сделать вот так?
2.jpg

Вот есть вариативный товар " пуховик" цена за один цвет одного размера 5000руб. А если купить один цвет но весь размерный ряд, тогда цена 22500руб.
И вот захотел я сделать скидку на этот товар. Что при покупке одного цвета и одного размера цена будет со скидкой 4500руб. Конечно можно на время просто изменить цену с 5000 на 4500, но это же слишком просто:):):) Поюзал в интернете и не нашел решение данной задачи. Решил сам что то придумать, а мозгов не хватает...((( Вот и начал мучать добропорядочных людей на форуме:)

P.S. все задачи стараюсь делать сам, а вот в этом моменте что то торможу. В принципе мало кому нужен будет такой код для решения такой задачи, но вот все же может кто сможет написать такой "хитрый" код:)
 

Sony78

Новичок
Добрый день !
Подскажите пожалуйста, как меняются данные в листе желаний, после добавления кода ?
 

Анна_56

Новичок
Всем привет! Нужна помощь! Есть интернет-магазин и там есть цены. Но цены не отображаются, они просто есть в админке. Загвоздка: не могу найти волшебную кнопочку, которая бы проявляла цены на самом сайте. Помогите, плиз!
 

ADv

Гуру
Местный
Всем привет! Нужна помощь! Есть интернет-магазин и там есть цены. Но цены не отображаются, они просто есть в админке. Загвоздка: не могу найти волшебную кнопочку, которая бы проявляла цены на самом сайте. Помогите, плиз!
1. Ссылку на сайт
2. Отключите все плагины и проверьте наличие проблемы
3. Убедитесь, что текущая версия Вашей темы адаптирована под установленную версию WooCoommerce
 

Анна_56

Новичок
Проверьте, не включен ли где-нибудь в настройках темы или какого-нить плагина Режим каталога.
В настройках темы нет никакого Режима каталога, а в плагинах я - дуб в тёмном лесу. Тот товарищ, который создавал этот сайт говорил, что здесь легко, одним щелчком мышки, можно опять отображать цены. И в WooCommerce, и в Товарах сморю, да вообще везде по всей админки, не пойму в чём прикол...
 

ADv

Гуру
Местный
В настройках темы нет никакого Режима каталога, а в плагинах я - дуб в тёмном лесу. Тот товарищ, который создавал этот сайт говорил, что здесь легко, одним щелчком мышки, можно опять отображать цены. И в WooCommerce, и в Товарах сморю, да вообще везде по всей админки, не пойму в чём прикол...
Ну а без предметного изучения вопроса точно никак угадать как "починить" цены не получится.
 

ADv

Гуру
Местный
Я же здесь не по вопросу - "а был ли мальчик"?, а по конкретному вопросу по вордпресу
Я конкретно по WordPress и отвечаю. Если функционально было заложено включение/отключение цен, тогда нужно либо найти настройку и снять галочку, либо найти функцию, которая отвечает за отключение и вытереть её. Без доступа к коду/к админке сайта Вам вряд ли кто-то сможет помочь заочно.
 

Анна_56

Новичок
Я могу отправить Вам админку и пароль от неё? Если да, то куда и сколько стоит Ваша помощь?
 
Сверху Снизу