Я использую следующий код, чтобы добавить текст перед ценой, если товар продается на страницах архива в WooCommerce:
function wps_custom_message() { $product = wc_get_product(); если ($product->is_on_sale()) { add_filter('woocommerce_get_price_html', 'cw_change_product_price_display'); add_filter('woocommerce_cart_item_price', 'cw_change_product_price_display'); функция cw_change_product_price_display($price) { // Ваш дополнительный текст в переводимой строке $text = __('Ваша цена продажи:
'); // возвращаем текст перед ценой вернуть $текст. ' ' . $цена; } } } add_action('woocommerce_archive_description', 'wps_custom_message', 9); add_action('woocommerce_before_single_product', 'wps_custom_message', 9); Но этот текст появляется и на товарах, для которых не установлена цена продажи.
Что я делаю не так?

Как видно на скриншоте, текст не должен быть на товарах, у которых нет цены со скидкой.