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

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

Image CMS

ОАА

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

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

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

Код:
/**
* 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... В чем беда?
 

ОАА

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

ОАА

Опытный
Местный
#4
Корректный код нашла здесь на форуме.
Код:
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

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

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

ОАА

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