Wordpress Woocommerce:购物车中相同产品的不同订单号
我正在使用WoCommerce插件和WP,当我向购物车添加一个项目,然后再次向购物车添加相同的项目时,在购物车页面上,它显示为一个项目,数量为两个,订单id为一个。我想要的是能够多次向购物车添加相同的产品和每个产品,以获得唯一的订单id。有没有办法做到这一点?谢谢。Wordpress Woocommerce:购物车中相同产品的不同订单号,wordpress,woocommerce,Wordpress,Woocommerce,我正在使用WoCommerce插件和WP,当我向购物车添加一个项目,然后再次向购物车添加相同的项目时,在购物车页面上,它显示为一个项目,数量为两个,订单id为一个。我想要的是能够多次向购物车添加相同的产品和每个产品,以获得唯一的订单id。有没有办法做到这一点?谢谢。功能bbloomer\u split\u product\u individual\u cart\u items($cart\u item\u data,$product\u id){ function bbloomer_split_
功能bbloomer\u split\u product\u individual\u cart\u items($cart\u item\u data,$product\u id){
function bbloomer_split_product_individual_cart_items( $cart_item_data, $product_id ){
$unique_cart_item_key = uniqid();
$cart_item_data['unique_key'] = $unique_cart_item_key;
return $cart_item_data;
}
add_filter( 'woocommerce_add_cart_item_data', 'bbloomer_split_product_individual_cart_items', 10, 2 );
//add_filter( 'woocommerce_is_sold_individually', '__return_true' );
#***************************************************
add_action( 'woocommerce_add_to_cart', 'mai_split_multiple_quantity_products_to_separate_cart_items', 10, 6 );
function mai_split_multiple_quantity_products_to_separate_cart_items( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) {
// If product has more than 1 quantity
if ( $quantity > 1 ) {
// Keep the product but set its quantity to 1
WC()->cart->set_quantity( $cart_item_key, 1 );
// Run a loop 1 less than the total quantity
for ( $i = 1; $i <= $quantity -1; $i++ ) {
/**
* Set a unique key.
* This is what actually forces the product into its own cart line item
*/
$cart_item_data['unique_key'] = md5( microtime() . rand() . "Hi Mom!" );
// Add the product as a new line item with the same variations that were passed
WC()->cart->add_to_cart( $product_id, 1, $variation_id, $variation, $cart_item_data );
}
}
}
$unique_cart_item_key=uniqid();
$cart\u item\u data['unique\u key']=$unique\u cart\u item\u key;
返回$cart\u item\u数据;
}
添加过滤器('woocommerce'添加购物车\项目\数据','bbloomer\拆分\产品\单个购物车\项目',10,2);
//添加过滤器(“woocommerce”是“单独销售的”,“返回的”是真的”);
#***************************************************
添加操作('woocommerce\u add\u to\u cart'、'mai\u split\u multiple\u quantity\u products\u to\u separate\u cart\u items',10,6);
函数mai\u split\u multiple\u quantity\u products\u to\u separate\u cart\u items($cart\u item\u key,$product\u id,$quantity,$variation\u id,$variation,$cart\u item\u data){
//如果产品数量超过1个
如果($quantity>1){
//保留产品,但将其数量设置为1
WC()->cart->set_数量($cart_item_key,1);
//运行一个小于总数量1的循环
对于($i=1;$i购物车->将商品添加到购物车($product\u id,1,$variation\u id,$variation,$cart\u item\u data);
}
}
}