Wordpress Woocommerce:购物车中相同产品的不同订单号

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_

我正在使用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_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); } } }