Для цен в переменных продуктах необходимо использовать различные методы, специфичные для WC_Product_Variable
класса.Переменный продукт состоит из нескольких вариантов продукта , поэтому цены на переменный продукт являются ценами его варианта продукта.
Вы можете получить минимальную или максимальную цену переменного продукта, например:
global $product;
// Regular price min and max
$min_regular_price = $product->get_variation_regular_price( 'min' );
$max_regular_price = $product->get_variation_regular_price( 'max' );
// Sale price min and max
$min_sale_price = $product->get_variation_sale_price( 'min' );
$max_sale_price = $product->get_variation_sale_price( 'max' );
// The active price min and max
$min_price = $product->get_variation_price( 'min' );
$max_price = $product->get_variation_price( 'max' );
Для переменного продукта метод is_on_sale()
вернет true , если в продаже имеется один из его вариантов продукта…
Вы также можете использовать методget_variation_prices()
, который даст вам многомерный массив всех цен вариаций продукта (активных, обычных и продажных цен), установленных в переменном продукте.