WooCommerce: Показать изменение цен вместо диапазона в шорткоде [товары]

#wordpress #woocommerce #format #price #variations

Вопрос:

У меня есть шорткод продуктов, вставленный на страницу:

[products category="joft" orderby="date"]

У меня есть продукты по подписке с двумя вариантами (расчетный период) — Ежемесячно и ежегодно. Когда в шорткоде продуктов отображаются продукты, цены отображаются в виде диапазона минимальных/максимальных цен (и неправильно добавлены с «месяцем», так как 21 доллар является годовой ценой).:

$2.00 – $21.00 / month

Чего я пытаюсь добиться, так это следующего отображения цен при отображении шорткода продуктов:

 $2.00 / Monthly
$21.00 / Yearly
 

Приведенный ниже код-это то, что я попробовал с некоторым успехом:

 add_filter( 'woocommerce_variable_sale_price_html', 'edit_variation_price', 10, 2 );
add_filter( 'woocommerce_variable_price_html', 'edit_variation_price', 10, 2 );
function edit_variation_price( $price, $product ) {

    if ( !is_admin() ) {
    
        global $woocommerce;

        if ( $product->is_type('variable') ) {

            foreach($product->get_available_variations() as $variation ) {

                echo $variation['price_html'];

            }
        }
    }
}
 

В итоге он делает то, что я хочу, но отображает то, что кажется изменением базовой валюты:

 $2.00 / Monthly
$21.00 / Yearly
1.5 / month