我正在将 Woocommerce 与 Woocommerce 订阅插件一起使用,并且我正在尝试为购物车中的每个项目分配不同的 subscription_id。到目前为止,我已经使用以下功能在数量 > 1 时拆分购物车项目,正如您从我附加的图像中看到的那样,但它们都在相同的订阅 ID 下。任何建议将不胜感激。
功能1:
function split_products( $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', 'split_products', 10, 2 );
功能2:
add_action( 'woocommerce_add_to_cart', 'split_products_to_separate_cart_items', 10, 6 );
function split_products_to_separate_cart_items( $cart_item_key, $product_id, $quantity, $variation_id, $variation, $cart_item_data ) {
if ( $quantity > 1 ) {
WC()->cart->set_quantity( $cart_item_key, 1 );
for ( $i = 1; $i <= $quantity -1; $i++ ) {
$cart_item_data['unique_key'] = md5( microtime() . rand() . "Hi Mom!" );
WC()->cart->add_to_cart( $product_id, 1, $variation_id, $variation, $cart_item_data );
}
}
}
通过上面的这两个功能,我设法将购物车项目分开,如下图所示:
但不幸的是,它们被解释为一个具有通用订阅 ID (2544) 的订阅,如下图所示: