Добавить префикс цены только для карточек товара

function iconic_format_price_range( $price, $from, $to ) {
    $prefix = __('[:de]Ab [:en]From [:ru]От [:]');
        return sprintf( '%s: %s', __(  $prefix, 'iconic' ), wc_price( $from ) );
} 

add_filter( 'woocommerce_format_price_range', 'iconic_format_price_range', 10, 3 );

С помощью данного кода добавляю префикс для цены. Но мне нужно, чтобы префикс добавлялса только для цены карточек товара. То есть если зайти на страницу товара, цена должна быть без префикса. Как это правильно сделать?


Ответы (1 шт):

Автор решения: WP Punk

Используйте is_product() для этого:

function iconic_format_price_range( $price, $from, $to ) {
    if ( ! is_product() ) {
    $prefix = __('[:de]Ab [:en]From [:ru]От [:]');
        $price = sprintf( '%s: %s', __(  $prefix, 'iconic' ), wc_price( $from ) );
    }

    return $price;
}

add_filter( 'woocommerce_format_price_range', 'iconic_format_price_range', 10, 3 );
→ Ссылка