添加新产品但不包括特定产品时,替换购物车中的现有产品.这些特定的产品将被添加,而不会被替换



添加新产品但不包括特定产品时,替换购物车中的现有产品。这些特定的产品将被添加,而不会被替换。我的代码:

add_filter( 'woocommerce_add_cart_item_data', 'woo_custom_add_to_cart' );
function woo_custom_add_to_cart($cart_item_data) {



$product_categories = array('mid-career-package-deal','advanced-career-package-deal');
$excluded_ids = array(1105,1108);

if(! in_array( $product_categories,$excluded_ids ) ) {
WC()->cart->add_to_cart();;
}
global $woocommerce;
$woocommerce->cart->empty_cart();


// Do nothing with the data and return
return $cart_item_data;
}
add_filter( 'woocommerce_add_to_cart_validation', 
'remove_cart_item_before_add_to_cart', 20, 3 );
function remove_cart_item_before_add_to_cart( $passed, $product_id, 
$quantity ) 
{
$excluded_ids = array(1105, 1108);
if( ! WC()->cart->is_empty()&& ! in_array( $product_id, $excluded_ids 
))
WC()->cart->empty_cart();
return $passed;
}

最新更新