小数的自定义样式会破坏默认的 WooCommerce 计算

问题描述 投票:0回答:1

我仅在 WooCommerce 前端中使用小数点的样式化为大写我上一个问题的答案代码。

现在我有一个特殊的问题:我注意到我的代码违反了默认的 WooCommerce 小数计算规则,您在我的代码中是否可以看到任何会破坏它的内容?

例如,使用此代码,在后端输入的税前价格为 7,39669 欧元(8.95 欧元/1.21 的结果)错误地显示为 8.94 欧元,而不是 8.95 欧元。当我禁用此自定义代码时,WooCommerce 规则再次正常工作。

我想 确保代码“调用”默认的 WooCommerce 计算,以便代码仅更改小数的显示,仅此而已。

php wordpress woocommerce decimal
1个回答
2
投票

为了避免这个问题,这里我使用不同的方式将小数与价格分开:

add_filter( 'formatted_woocommerce_price', 'ts_woo_decimal_price', 10, 5 );
function ts_woo_decimal_price( $formatted_price, $price, $decimal_places, $decimal_separator, $thousand_separator ) {
    // Not on backend
    if ( ! is_admin() ) {
        $price_data = explode($decimal_separator, $formatted_price);
        return $price_data[0] . '<sup>' . $price_data[1] . '</sup>';
    }
    return $formatted_price;
}

代码位于活动子主题(或活动主题)的functions.php 文件中。已测试并有效。

© www.soinside.com 2019 - 2024. All rights reserved.