我有一些产品需要将定价显示到小数点后8位,例如,每单位价格为0.00000214。我尝试添加一个过滤器,但它只是显示值0.00000000这是我所拥有的:function filter_woocommerce_cart_item_price( $price, $cart_item, $cart_item_key ) { $formattedNum = number_format((float) $price, 8); return $formattedNum;}; add_filter( 'woocommerce_cart_item_price', 'filter_woocommerce_cart_item_price', 10, 3 ); 谢谢
1 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
问题是$price返回已格式化的值。我需要得到原价。
这是工作解决方案:
add_filter( 'woocommerce_cart_item_price', 'change_cart_item_price', 10, 3 );
function change_cart_item_price( $price, $cart_item, $cart_item_key )
{
if ( WC()->cart->display_prices_including_tax() )
{
$product_price = wc_get_price_including_tax( $cart_item['data'] );
} else
{
$product_price = wc_get_price_excluding_tax( $cart_item['data'] );
}
$price = number_format($product_price,8);
return floatval($price);
}
- 1 回答
- 0 关注
- 68 浏览
添加回答
举报
0/150
提交
取消