Никогда не используйте напрямую get_sale_price();
или get_regular_price();
WC_Product
методы для отображения цен на продукцию .
Почему? Потому что вы получите неправильные цены в этих 2 случаях:
- Если вы ввели свои цены с налогами , и вы установили отображение без налогов …
- Если вы ввели свои цены без налогов , и вы установили отображение с налогами .
То есть для отображения цен на продукты правильный способ - использовать wc_get_price_to_display()
следующим образом:
// Active price:
wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) );
//Regular price:
wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) );
//Sale price:
wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) );
Теперь, если вы хотите правильных форматированных цен с валютой вы также будете использовать wc_price()
функцию форматирования следующим образом:
// Active formatted price:
$product->get_price_html();
// Regular formatted price:
wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ) );
// Sale formatted price:
wc_price( wc_get_price_to_display( $product, array( 'price' => $product->get_sale_price() ) ) );