如何解决WooCommerce 中的圆形购物车小计
使用此代码时,我可以操作小计(工作正常)
add_action( 'woocommerce_calculate_totals','action_cart_calculate_totals',10,1 );
function action_cart_calculate_totals( $cart_object ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( !WC()->cart->is_empty() ):
## displayed subtotal (+10%)
$cart_object->subtotal *= 1.1;
## displayed TOTAL (+10%)
// $cart_object->total *= 1.1;
## displayed TOTAL CART CONTENT (+10%)
// $cart_object->cart_contents_total *= 1.1;
endif;
}
但我想使用下面的代码,用于新的 subtotal
add_filter( 'woocommerce_calculated_total','my_custom_roundoff' );
function my_custom_roundoff( $total ) {
$round_num = round($total / 0.05) * 0.05;
$total = number_format($round_num,2); // this is required for showing zero in the last decimal
return $total;
}
然而,这并没有达到预期的效果。如何在第一个提到的函数中使用这个舍入函数?
解决方法
woocommerce_calculated_total
钩子用于允许插件过滤总计,并在修改时对购物车总计进行求和。
对于 subtotal
,请改用 woocommerce_cart_subtotal
过滤器钩子。
所以你得到:
function filter_woocommerce_cart_subtotal( $subtotal,$compound,$cart ) {
// Rounds a float
$round_num = round( $cart->subtotal / 0.05 ) * 0.05;
// Format a number with grouped thousands
$number_format = number_format( $round_num,2 );
// Subtotal
$subtotal = wc_price( $number_format );
return $subtotal;
}
add_filter( 'woocommerce_cart_subtotal','filter_woocommerce_cart_subtotal',10,3 );
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。