【发布时间】:2021-01-07 10:05:38
【问题描述】:
我们希望客户只购买以下数量。
- 1 袋
- 2 袋
- 3 袋
- 4 袋
- 5 袋
- 10袋
到目前为止;我们已经成功地限制了可以在单个产品页面上选择的数量,
我们目前正在使用以下代码将用户限制为总共 10 个袋子。
// Checking and validating when products are added to cart
add_filter( 'woocommerce_add_to_cart_validation', 'only_six_items_allowed_add_to_cart', 10, 3 );
function only_six_items_allowed_add_to_cart( $passed, $product_id, $quantity ) {
$cart_items_count = WC()->cart->get_cart_contents_count();
$total_count = $cart_items_count + $quantity;
if( $cart_items_count >= 10 || $total_count > 10 ){
// Set to false
$passed = false;
// Display a message
wc_add_notice( __( "Sorry, You can’t have more than 10 bags in your cart.", "woocommerce" ),
"error" );
}
return $passed;
}
现在,我们只需要添加一个条件,当用户尝试增加购物车数量时,该条件将限制在 6-9 袋之间(并显示警告)。
问题是,例如,客户在购物车中添加了 5 个袋子,然后,如果他们返回并尝试添加另一个袋子怎么办?
我想避免这种情况,所以客户只能购买上述数量。
请查看此链接以更好地了解情况: https://mettaatta.com/product/metta-atta
【问题讨论】:
-
if($total_count >=6 || $total_count <=9){ ... } -
如果您不允许,他们将如何在 6-9 袋之间增加购物车数量?使用带有选项的下拉列表:1 袋 2 袋 3 袋 4 袋 5 袋 10 袋
-
@vincentPHILIPPE 他们可以返回单个产品页面,然后他们将能够添加更多产品。我已经有了下拉列表。问题是,例如,客户在他们的购物车中添加了 5 个袋子,然后,如果他们返回并尝试添加另一个袋子怎么办?我想避免这种情况,所以客户只能购买上述数量。请查看此链接:mettaatta.com/product/metta-atta
-
好的,我知道了,那为什么不这样检查数量呢?
if($total_count >=6 || $total_count <=9){ ... } -
if($total_count >=6 && $total_count <=9){ ... }对不起,我的错误。我放了||而不是&&
标签: php woocommerce conditional-statements cart checkout