Php 如何将商业产品价格调整到十位数?
我已经在网上搜索过了,但找不到任何解决办法。因此,我使用一个插件将固定的美元产品价格转换为当前美元/澳元汇率的澳元。它是实时运行的,因此结果可能是3257.2485131867澳元 现在我使用下面的代码片段删除所有小数,这样价格就可以显示为$3257.00,这很好Php 如何将商业产品价格调整到十位数?,php,wordpress,woocommerce,rounding,price,Php,Wordpress,Woocommerce,Rounding,Price,我已经在网上搜索过了,但找不到任何解决办法。因此,我使用一个插件将固定的美元产品价格转换为当前美元/澳元汇率的澳元。它是实时运行的,因此结果可能是3257.2485131867澳元 现在我使用下面的代码片段删除所有小数,这样价格就可以显示为$3257.00,这很好 add_filter( 'raw_woocommerce_price', 'round_price_product', 10, 1); add_filter( 'woocommerce_get_price_excluding_tax'
add_filter( 'raw_woocommerce_price', 'round_price_product', 10, 1);
add_filter( 'woocommerce_get_price_excluding_tax', 'round_price_product', 10, 1 );
add_filter( 'woocommerce_get_price_including_tax', 'round_price_product', 10, 1 );
add_filter( 'woocommerce_tax_round', 'round_price_product', 10, 1);
add_filter( 'woocommerce_get_price', 'round_price_product', 10, 1);
add_filter( 'raw_woocommerce_price', 'round_price_product', 10, 1);
// Return rounded price
return round( $price );
}
但是,既然3257.00美元这个数字看起来不太令人满意,有没有办法将其四舍五入到3260.00美元,这样看起来会更好?基本上,我想把一位数字显示为0
类似的例子:
2398美元->2400美元
$5243->$5240
7567美元->7570美元
有什么想法吗?欢迎您的任何输入。请注意,自从woocommerce 3以来,hook
woocommerce\u get\u price
已被弃用(代码中也缺少该功能)
要将产品价格四舍五入到十位数,有第二个参数,您可以设置为-1
,如下所示:
round( $price, -1 )
现在,在您的代码中,有woocommerce\u get\u price
的替换挂钩:
add_filter( 'raw_woocommerce_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_get_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_get_regular_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_variation_get_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_variation_get_regular_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_get_price_excluding_tax', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_get_price_including_tax', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_tax_round', 'round_price_product', 1000, 1 );
function round_price_product( $price ){
// Return rounded price
return round( $price, -1 );
}
代码进入活动子主题(或活动主题)的functions.php文件。它应该可以工作。请注意,自从woocommerce 3以来,hook
woocommerce\u get\u price
已被弃用(代码中也缺少该功能)
要将产品价格四舍五入到十位数,有第二个参数,您可以设置为-1
,如下所示:
round( $price, -1 )
现在,在您的代码中,有woocommerce\u get\u price
的替换挂钩:
add_filter( 'raw_woocommerce_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_get_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_get_regular_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_variation_get_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_product_variation_get_regular_price', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_get_price_excluding_tax', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_get_price_including_tax', 'round_price_product', 1000, 1 );
add_filter( 'woocommerce_tax_round', 'round_price_product', 1000, 1 );
function round_price_product( $price ){
// Return rounded price
return round( $price, -1 );
}
代码进入活动子主题(或活动主题)的functions.php文件。它应该可以工作。非常感谢LoicTheAztec,你的代码工作得很有魅力,我的网站现在看起来好多了!真的很感激。非常感谢LoicTheAztec,你的代码工作起来很有魅力,我的网站现在看起来好多了!非常感谢。