Продукт get_sale_price всегда равен 0 при использовании правила скидок для плагина WooCommerce - PullRequest
0 голосов
/ 20 апреля 2020

Это моя конфигурация WordPress (Просто обновил все, чтобы все было в курсе):
WordPress: 5.4
WooCommerce: 4.0.1
Правила скидок для WooCommerce : 1.9 .7

Правила скидок для конфигурации WooCommerce, за единицу количества:
1-4: 10%
5-24: 20%
25-99999: 30%

Это прекрасно работает в магазине, и магазин может даже получать заказы со скидками. Дело в том, что я хочу удалить SALE! значок из продуктов, поскольку он автоматически добавляется из-за количества блоков 1-4, что означает 10% скидку по всему сайту в соответствии с конфигурацией.

Теперь вот мой код в функциях темы. php

function wc_custom_replace_sale_text($html, $post, $product) {
  if ($product->is_on_sale()) {
    $regular_price = $product->get_regular_price();
    $sale_price = $product->get_sale_price();
    return '<span class="onsale force-display">' . $sale_price . '</span>';
  }
}
add_filter( 'woocommerce_sale_flash', 'wc_custom_replace_sale_text', 10, 3 );

Проблема : Независимо от того, что я пытаюсь, я всегда получаю $product->get_sale_price() результат всегда 0. И странно то, что $product_is_on_sale() результат равен true.

Из-за этого я не могу узнать скидку на продукт и поэтому не могу удалить метку SALE для блока количества 1-4.

...