以下是防止购物车中有多个可下载产品的代码:
add_filter( 'woocommerce_add_to_cart_validation', 'only_one_product_type_allowed', 10, 3 );
function only_one_product_type_allowed( $passed, $product_id, $quantity ) {
$product = wc_get_product( $product_id );
$product_type = $product->get_type();
$product_downloadable = $product->is_downloadable();
foreach ( WC()->cart->get_cart() as $cart_item ) {
if ( $product_type == $cart_item['data']->get_type() && $product_downloadable == $cart_item['data']->is_downloadable() && ! $product->is_virtual() ) {
wc_add_notice( __( "NOTICE ON CART PAGE.", "woocommerce" ), 'error' );
return false;
}
}
return $passed;
}
现在,它不允许在单一购物车中下载多个产品,这是可以的.但它也不允许购物车中有多个常规商品.它也发出了同样的通知.有谁能帮我修好吗.