我使用WooCommerce Minimum Order Amount的代码片段来设置用户角色的最低订单总额。
对于分销商角色,如果他们已完成上一个订单,我希望更改最小订单总额。
因此,对于第一个订单,最低将是3000,对于之后的订单,最低将成为1000。
下面是我的代码:
add_action( 'woocommerce_check_cart_items', 'wc_minimum_order_amount' );
function wc_minimum_order_amount() {
// minimum order value by user role
if ( current_user_can('distributors') )
$minimum = 3000;
elseif ( current_user_can('wholesale_customer') )
$minimum = 200;
elseif ( current_user_can('wholesale_vat_exc') )
$minimum = 200;
else
$minimum = 200; // default
if ( WC()->cart->subtotal < $minimum ) {
if( is_cart() ) {
wc_print_notice( sprintf(
'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->subtotal )
), 'error' );
} else {
wc_add_notice( sprintf(
'You must have an order with a minimum of %s to place your order, your current order total is %s.' ,
wc_price( $minimum ),
wc_price( WC()->cart->subtotal )
), 'error' );
}
}
}
字符串
1条答案
按热度按时间zy1mlcev1#
要根据以前完成的订单更改分销商角色的最小订单总额,您可以扩展此if条件:
字符串
其中,您将根据
user_id
和状态wc-completed
统计先前订单的数量,如果计数大于0,则更改最小值wc_get_orders()用于此,这可以通过其他参数(例如某些订单状态等)进一步扩展。
所以你得到:
型