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

如何在WooCommerce中显示精确折扣百分比?(适配YITH插件)

解决YITH WooCommerce Badge Management折扣百分比显示精度问题

方法1:添加自定义代码修改计算逻辑

插件默认会对折扣百分比取整,你可以通过WooCommerce的钩子函数覆盖原有计算逻辑,实现精确到两位小数的显示效果。

将以下代码添加到主题的functions.php文件末尾,或使用Code Snippets插件添加(推荐用插件,避免主题更新丢失代码):

add_filter( 'yith_wcbm_get_discount_percentage', 'custom_yith_wcbm_precise_discount_percentage', 10, 3 );
function custom_yith_wcbm_precise_discount_percentage( $percentage, $product, $regular_price ) {
    $sale_price = $product->get_sale_price();
    // 跳过无效价格的情况
    if ( empty( $sale_price ) || empty( $regular_price ) || $regular_price <= 0 ) {
        return $percentage;
    }

    // 计算精确折扣并保留两位小数
    $discount_ratio = ( $regular_price - $sale_price ) / $regular_price;
    $precise_percent = $discount_ratio * 100;
    return number_format( $precise_percent, 2 );
}

添加后刷新前端页面,即可看到类似49.75%的精确折扣显示。

方法2:检查插件内置设置(部分版本可用)

进入WordPress后台的YITH > Badge Management,查看是否有「折扣百分比精度」相关设置项:

  • 若存在该选项,直接调整为保留2位小数即可
  • 注意:并非所有版本的插件都提供此设置,若找不到则使用方法1

注意事项

  • 修改代码前请备份网站数据,防止意外错误
  • 优先使用子主题的functions.php文件添加代码,避免主题更新时被覆盖
  • 测试不同价格组合的产品,确保折扣计算准确(比如你提供的原价$8.50、促销价$4.27的案例,计算后应为49.75%)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 07:45:49