【发布时间】:2019-09-18 10:54:11
【问题描述】:
在 WooCommerce 中,我需要为产品类别的每个项目设置最低数量。我搜索了论坛,发现一些代码可以正常工作,只是它只计算一个产品类别的总数量:
add_action( 'woocommerce_checkout_process', 'wc_minimum_order_amount' );
add_action( 'woocommerce_before_cart' , 'wc_minimum_order_amount' );
function wc_minimum_order_amount() {
$minimum = 5; //Qty product
if ( WC()->cart->cart_contents_count < $minimum ) {
$draught_links = array();
foreach(WC()->cart->get_cart() as $cart_item_key => $values ) {
$_product = $values['data'];
$terms = get_the_terms( $_product->id, 'product_cat' );
foreach ($terms as $term) {
$draught_links[] = $term->name;
}
}
if (in_array("Noten", $draught_links)){
$on_draught = true;
}else{
$on_draught = false;
}
if( is_cart() ) {
if($on_draught){
wc_print_notice(
sprintf( 'Bitte beachte die Mindestbestellmenge. Du brauchst mindestens %s Notenexemplare pro Arrangement. Aktuell hast du %s Stück in deinem Warenkorb.' ,
$minimum ,
WC()->cart->cart_contents_count
), 'error'
);
}
} else {
if($on_draught){
wc_add_notice(
sprintf( 'Bitte beachte die Mindestbestellmenge. Du brauchst mindestens %s Notenexemplare pro Arrangement. Aktuell hast du %s Stück in deinem Warenkorb.' ,
$minimum ,
WC()->cart->cart_contents_count
), 'error'
);
}
}
}
}
例如,如果我有两个属于同一产品类别的产品(A 和 B)并将该类别的最小数量设置为 5,则在这种情况下不会出现客户的错误消息:
- 产品A:3
- 产品 B:2
我需要该类别的每件产品的最少数量为 5。
您知道如何更改和优化以下代码吗?
【问题讨论】:
标签: php wordpress woocommerce cart checkout