Woocommerce 所做的是...
当产品单独销售,并且产品已经存在于购物车中并且客户点击添加到购物车时,Woocommerce 会显示错误消息“您无法将其他产品添加到您的购物车......查看购物车”
而不是我想要的上述流程..
当客户点击添加到购物车并且如果产品已经存在于购物车中时,woocommerce 应该立即重定向到结帐页面。
我认为这可以通过在 Woocommerce Plugin 的 class-wc-cart.php 中编辑几行代码来实现。
下面给出:
// Force quantity to 1 if sold individually and check for existing item in cart
if ( $product_data->is_sold_individually() ) {
$quantity = apply_filters( 'woocommerce_add_to_cart_sold_individually_quantity', 1, $quantity, $product_id, $variation_id, $cart_item_data );
$in_cart_quantity = $cart_item_key ? $this->cart_contents[ $cart_item_key ]['quantity'] : 0;
if ( $in_cart_quantity > 0 ) {
throw new Exception( sprintf( '<a href="%s" class="button wc-forward">%s</a> %s', wc_get_cart_url(), __( 'View Cart', 'woocommerce' ), sprintf( __( 'You cannot add another "%s" to your cart.', 'woocommerce' ), $product_data->get_title() ) ) );
}
}