You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Woocommerce:除购物车、结账及迷你购物车外设置3位价格小数的问题

解决WooCommerce迷你购物车价格小数位数问题

要让迷你购物车也显示2位小数,你需要在判断条件里加入对迷你购物车AJAX请求的检测——因为迷你购物车通常是通过woocommerce_get_refreshed_fragments这个AJAX动作加载的。

修改后的代码如下:

add_filter( 'wc_get_price_decimals' , 'custom_price_decimals', 20, 1 );
function custom_price_decimals( $decimals ) {
    // 检测购物车页面、结账页面,以及迷你购物车的AJAX请求
    if( is_checkout() || is_cart() || ( defined('DOING_AJAX') && DOING_AJAX && isset($_POST['action']) && $_POST['action'] === 'woocommerce_get_refreshed_fragments' ) ) {
        $decimals = 2;
    } else{
        $decimals = 3;
    }
    return $decimals;
}

代码说明:

  • defined('DOING_AJAX') && DOING_AJAX:判断当前是否为AJAX请求
  • $_POST['action'] === 'woocommerce_get_refreshed_fragments':确认是WooCommerce默认用来更新迷你购物车内容的AJAX动作

替换你原有的代码后,迷你购物车的价格就会显示2位小数,其他页面保持3位小数的设置。

内容的提问来源于stack exchange,提问作者in2d

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 10:06:47