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

Решено Код для изменения формата цены работает не везде

ОАА

Опытный
Местный
Здравствуйте!

Магазин здесь

Использую код отсюда для корректировки отображения цены вариативных товаров, что бы было в формато "Цена: от ХХХ"

Код:
/**
* 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('From', 'min_price', 'woocommerce') . ' ';
$price .= woocommerce_price($product->get_price());
if ( $product->max_variation_price && $product->max_variation_price !== $product->min_variation_price ) {
$price .= ' ' . _x('to', 'max_price', 'woocommerce') . ' ';

$price .= woocommerce_price($product->max_variation_price);
}

return $price;
}
Но почему-то не на всех товарах работает. Завела новую категорию и у всех товаров стандартное отображение Woocommerce... В чем беда?
 

ОАА

Опытный
Местный
Проблема в случае проведения акции на вариативный товар(
 

ОАА

Опытный
Местный
Код:
/**
* 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;
}
вернее вот этот исправленный вариант у меня.
 

ОАА

Опытный
Местный
Корректный код нашла здесь на форуме.
Код:
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;
}
 
  • Like
Реакции: D&B

searchingman

Гуру
Местный
Когда ищите код в интернете обращайте внимание на дату сообщения.
На этом форуме тоже иногда натыкался на старые примеры кода, которые или не работают или работают не совсем корректно.
Все течет все изменяется, в том числе и такой быстро развивающийся плагин, как WooCommerce. ;)

Все больше подумываю о FAQ-е по WooCommerce, который можно будет поддерживать в актуальном состоянии.
"Море" информации по WooCommerce. Но когда пытаешься собрать все вместо, то многое из того, что есть устарело или работает не корректно.
 
Последнее редактирование:

ОАА

Опытный
Местный
Все больше подумываю о FAQ-е по WooCommerce, который можно будет поддерживать в актуальном состоянии.
О! Это было чудесно! :)Но труд не малый... Хотя для Вас возможно проще создать нечто подобное, чем в сто первый раз отвечать на однотипные вопросы. Спасибо Вам!(y)
 
Сверху Снизу