在添加到购物车WooCommerce时,设置购物车项目的钥匙



如何使用唯一的购物车键将项目添加到购物车中。我不想更新购物车的数量购物车已经有

例如。如果我们在购物车中有2个物品,然后,我想在购物车中添加另外两个项目,而不是一个数量4的项目,我需要两个带数量2

的购物车项目

您需要此自定义挂钩功能,该功能将添加到购物车项目中一个生成的唯一键:

add_filter( 'woocommerce_add_cart_item_data', 'set_custom_cart_item_key', 10, 4 );
function set_custom_cart_item_key( $cart_item_data, $product_id, $variation_id, $quantity ) {
    $cart_item_data['unique_key'] = md5( microtime().rand() );
    WC()->session->set( 'custom_data', $cart_item_data['unique_key'] );
    return $cart_item_data;
}

代码在您的活动子主题(或活动主题(的function.php文件中。测试和工作。

将同一产品添加到购物车时,它将避免增加项目数量……因此您将拥有分离的购物车项目……

所以请查看add_to_cart()中的CC_1中的此方法

// Load cart item data - may be added by other plugins.
$cart_item_data = (array) apply_filters( 'woocommerce_add_cart_item_data', $cart_item_data, $product_id, $variation_id, $quantity );
// Generate a ID based on product ID, variation ID, variation data, and other cart item data.
$cart_id        = $this->generate_cart_id( $product_id, $variation_id, $variation, $cart_item_data );

您看到$cart_id所吸收的$cart_item_data,您可以修改与以前的项目不同,以生成唯一的ID。

最新更新