【问题标题】:Custom stylization of decimals breaks default WooCommerce calculations小数的自定义样式会破坏默认的 WooCommerce 计算
【发布时间】:2020-12-07 21:58:55
【问题描述】:

我正在使用上一个问题的Stylization of decimals as uppercase in WooCommerce frontend only 答案代码。

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

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

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

【问题讨论】:

    标签: php wordpress woocommerce decimal price


    【解决方案1】:

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

    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 文件中。经过测试并且可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多