如何在WooCommerce中进行价格四舍五入?

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

我想知道是否有一种方法可以 凑齐 在WooCommerce中的价格保留2位小数显示(所以价格将以小数点后的第一位和第二位结束,00)。

例如:€12,54将被四舍五入到€13,00,€145,67将被四舍五入到€146,00。

我使用了一个插件来对产品价格进行折扣,例如:39,00欧元-20%=35,10欧元(应该是36,00欧元)。

我想按照之前的解释将所有的价格四舍五入。

有什么方法可以做到这一点吗?

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

你不能真的四舍五入 全球通用 计算价格,如税费、运费、折扣、总计等第三方插件计算价格。计算价格的四舍五入需要根据具体情况而定......

你只能 在全球范围内汇总所有 "显示 "的格式化价格。 保持2位小数。为此,有2个步骤解释如下。

1)下面的钩子函数将在WooCommerce中对原始显示的价格进行四舍五入。

如果需要的话,它将返回下一个最高的整数值,并将其四舍五入。

add_filter( 'raw_woocommerce_price', 'round_up_raw_woocommerce_price' )
function round_up_raw_woocommerce_price( $price ){
    return ceil( $price );
}

代码在你的活动的子主题(或活动主题)的function.php文件中。

请注意,所有的Woocommerce价格格式化函数将使用我们的第一个挂钩函数的四舍五入价格......

2)WooCommerce中显示价格的格式化。

WooCommerce使用 作用 wc_price() 到处都是,以格式化WooCommerce设置中定义的价格。

因此,如果你需要格式化任何原始价格,你将使用该格式化功能,如在这个例子中。

// Get the WC_Product Object instance from the product ID
$product = wc_get_product ( $product_id );

// Get the product active price for display
$price_to_display = wc_get_price_to_display( $product );

// Format the product active price
$price_html = wc_price( $price_to_display );

// Output
echo $price_html

或者同样的事情,更紧凑的使用 WC_Product 内建方法 get_price_html():

// Get the WC_Product Object instance from the product ID
$product = wc_get_product ( $product_id );

// Display the formatted product price
echo $product->get_price_html();
© www.soinside.com 2019 - 2024. All rights reserved.