【发布时间】:2019-10-05 12:48:31
【问题描述】:
我有一个可变产品 X,该产品有两个变体,变体 A 和变体 B。
如果客户在购物车中添加了变体 A,那么我想阻止客户在购物车中添加变体 B。一次客户只订购该产品的一种变体。
我已经添加了下面的代码,但它不能正常工作,因为如果我在购物车中添加了产品 X 的一个变体,然后我尝试在购物车中添加另一个产品 Y,它不会添加到购物车中。
我的代码当前代码如下。
function wph_add_the_cart_validation_for_zoomarine_e_ticket( $passed ) {
// The product id of variable product X
$product_id = 44050;
$in_cart = false;
foreach( WC()->cart->get_cart() as $cart_item ) {
$product_in_cart = $cart_item['product_id'];
if ( $product_in_cart === $product_id ) $in_cart = true;
}
if ( $in_cart ) { ?>
<script type="text/javascript">
alert("The product is already in cart. You can only add one E ticket per order");
</script>
<?php
$passed = false;
}
return $passed;
}
add_filter( 'woocommerce_add_to_cart_validation', 'wph_add_the_cart_validation_for_zoomarine_e_ticket', 10, 5 );
【问题讨论】:
-
你能提供更多关于你尝试的细节,以及为什么你的尝试没有成功吗?可能有助于其他人帮助您。
-
当我先在购物车中添加产品 X 然后我无法在购物车中添加任何其他产品时,此代码不起作用。我只想在购物车中添加产品 X 一种变体,并且我想根据用户要求在购物车中添加更多数量的其他产品
标签: php wordpress woocommerce cart