我希望在购物车/订单中停止混合不同类型的产品。
用例-可下载的非虚拟产品不应与单个购物车/订单中的任何其他产品一起使用。
感谢您的帮助。
答案 0 :(得分:0)
add_filter( 'woocommerce_add_to_cart_validation', 'remove_all_other_if_individual' );
function remove_all_other_if_individual( $cart_item_data ) {
global $woocommerce;
$items = $woocommerce->cart->get_cart();
$is_downloadable_incart = false;
foreach ( $items as $item => $values ) {
$_product = wc_get_product( $values[ 'data' ]->get_id() );
if ( $_product->is_downloadable() )
$is_downloadable_incart = TRUE;
}
if ( $is_downloadable_incart )
$woocommerce->cart->empty_cart();
// Do nothing with the data and return
return true;
}