Я настроил магазин woocommerce для тестирования и попытался округлить общую стоимость до 0,05, потому что мы делаем это здесь, в Швейцарии;)
Но я не добился успеха и искал везде.
Мой код на данный момент выглядит примерно так:
add_filter( 'woocommerce_calculated_total', 'round_price_product', 10, 1);
add_filter( 'woocommerce_calculated_subtotal', 'round_price_product', 10, 1);
add_filter( 'woocommerce_cart_subtotal', 'round_subtotal', 10, 3);
function round_subtotal( $cart_subtotal, $compound, $instance ) {
$origValue = $cart_subtotal;
preg_match( '/\d+\.\d+/', $origValue, $floatValue);
$roundedValue = number_format( round_price_product( $floatValue[0] ), 2 );
$returnValue = str_replace( $floatValue, $roundedValue, $origValue );
return $returnValue;
}
function round_price_product( $price ){
return round( $price * 2, 1 ) / 2;
}
Есть предложения?
Спасибо, Крис