小数点的自定义样式打破了默认的 WooCommerce 计算
Custom stylization of decimals breaks default WooCommerce calculations
我正在使用 上一个问题的答案代码。
现在我有一个特殊的问题:我注意到我的代码违反了默认的 WooCommerce 小数计算规则,您在我的代码中看到有什么会破坏它吗?
例如,使用此代码,在后端输入的税前价格为 7,39669 欧元(这是 8.95 欧元/1.21 的结果)被错误地显示为 8.94 欧元而不是 8.95 欧元。当我禁用此自定义代码时,WooCommerce 规则再次正常工作。
我想确保代码“调用”默认的 WooCommerce 计算,这样代码只会更改小数点的显示,仅此而已。
为了避免这个问题,我在这里使用不同的方式来将小数点与价格分开:
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 文件。已测试并有效。
我正在使用
现在我有一个特殊的问题:我注意到我的代码违反了默认的 WooCommerce 小数计算规则,您在我的代码中看到有什么会破坏它吗?
例如,使用此代码,在后端输入的税前价格为 7,39669 欧元(这是 8.95 欧元/1.21 的结果)被错误地显示为 8.94 欧元而不是 8.95 欧元。当我禁用此自定义代码时,WooCommerce 规则再次正常工作。
我想确保代码“调用”默认的 WooCommerce 计算,这样代码只会更改小数点的显示,仅此而已。
为了避免这个问题,我在这里使用不同的方式来将小数点与价格分开:
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 文件。已测试并有效。