WooCommerce:向上/向下舍入价格,保留 2 位小数

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

我们的支付网关要求我们在 WooCommerce 中激活 2 位小数,导致价格如下所示:199.00

通过 WooCommece 的官方修复,.00 很容易隐藏

add_filter( 'woocommerce_price_trim_zeros', '__return_true' );

但是,我们遇到了应用百分比折扣的产品的问题,例如我们所有的产品捆绑包。

百分比折扣使价格不以 .00 结尾,而是以随机数字结尾,如 0.15、0.65 等。 我们如何解决这个问题,以便我们向上/向下舍入价格

184.15 至 184.00 184.65 至 185.00

搜索谷歌。搜索了 Stackoverflow,发现一些代码无法运行。

php wordpress woocommerce rounding price
1个回答
0
投票

尽管如此,您可以从 WooCommerce 管理 > 常规设置 中删除小数位。但是,如果它不能解决问题,您可以尝试使用 raw_woocommerce_price 过滤器来四舍五入产品价格。以下代码将有助于做到这一点。

add_filter( 'raw_woocommerce_price', 'wp_raw_woocommerce_price_filter', 10, 2 );

/**
 * Function for `raw_woocommerce_price` filter-hook.
 * 
 * @param float        $raw_price      Raw price.
 * @param float|string $original_price Original price as float, or empty string. Since 5.0.0.
 *
 * @return float
 */
function wp_raw_woocommerce_price_filter( $raw_price, $original_price ){

    // converto non-decimal number
    return intval($raw_price);
}
© www.soinside.com 2019 - 2024. All rights reserved.