• Никакой политики на форуме. Иначе - бан!
  • Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Убрать копейки в товарах и оставить в нужных

Ed777

Опытный
Подскажите как реализовать. Нужно убрать копейки в товарах, где копейки нули и оставить там где они есть (где копейки не нули). Через Настройки, знаки после запятой не подходит, т.к. убираются копейки во всех товарах.
Например: сейчас 20,00 и 7.50, должно быть 20 и 7.50.
 

ADv

Гуру
Местный
Подскажите как реализовать. Нужно убрать копейки в товарах, где копейки нули и оставить там где они есть (где копейки не нули). Через Настройки, знаки после запятой не подходит, т.к. убираются копейки во всех товарах.
Например: сейчас 20,00 и 7.50, должно быть 20 и 7.50.
Попробуйте такое
PHP:
add_filter( 'woocommerce_price_trim_zeros', '__return_true' );

или такое

PHP:
add_filter( 'formatted_woocommerce_price', 'dcwd_remove_zero_decimals', 10, 5 );
function dcwd_remove_zero_decimals( $formatted_price, $price, $decimal_places, $decimal_separator, $thousand_separator ) {
/*
    // Leave decimals in on single product page.
    if ( is_product() ) {
        return $formatted_price;
    }
*/

    if ( $price - intval( $price ) == 0 ) {
        // Format units, including thousands separator if necessary.
        return $unit = number_format( intval( $price ), 0, $decimal_separator, $thousand_separator );
    }
    else {
        return $formatted_price;
    }
}
 

Ed777

Опытный
Попробуйте такое
PHP:
add_filter( 'woocommerce_price_trim_zeros', '__return_true' );

или такое

PHP:
add_filter( 'formatted_woocommerce_price', 'dcwd_remove_zero_decimals', 10, 5 );
function dcwd_remove_zero_decimals( $formatted_price, $price, $decimal_places, $decimal_separator, $thousand_separator ) {
/*
    // Leave decimals in on single product page.
    if ( is_product() ) {
        return $formatted_price;
    }
*/

    if ( $price - intval( $price ) == 0 ) {
        // Format units, including thousands separator if necessary.
        return $unit = number_format( intval( $price ), 0, $decimal_separator, $thousand_separator );
    }
    else {
        return $formatted_price;
    }
}

Через Настройки - Дополнительные стили не сработало.
 
Сверху Снизу