我想将订单的总价格四舍五入为0.05,因此我在functions.php中添加了一些代码:
function custom_calculated_total( $total ) {
return round( $total * 2, 1) / 2;
}
add_filter( 'woocommerce_calculated_total', 'custom_calculated_total' );
它在购物车和结帐时效果很好,将总计显示为四舍五入。
但是,在管理客户订单的后端,每当管理员单击订单中的更新按钮或更新按钮上方的箭头时,总数就会变回非四舍五入的数字。
You can view the update button and the arrow button here.
因此,每当我们要打印将导致订单更新的发票时,总金额将更改回订单和发票中的未四舍五入的数字。
我尝试了其他类似的编码,但结果保持不变。 更新订单后,我该怎么做才能防止订单总数变回非四舍五入的数字?
答案 0 :(得分:0)
您可以舍入该表的非常具体的输出,如下所示:
add_filter( 'woocommerce_cart_totals_order_total_html', 'round_my_total', 99, 1);
function round_my_total($value ){
return round( WC()->cart->get_total(false), 1);
}
编辑 为了更改“ get_total()”的每个位置,可以使用以下过滤器:
add_filter( 'woocommerce_cart_total', 'round_get_total', 99, 1);
function round_get_total($value ){
$value = str_replace(get_woocommerce_currency_symbol(), '', strip_tags($value));
return (round($value * 1, 1));
}
答案 1 :(得分:0)