【问题标题】:Don't allow specific product quantities in the cart不允许在购物车中添加特定的产品数量
【发布时间】: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


【解决方案1】:

这个:

if($cart_items_count >= 10 || $total_count > 10 ){
    // Display a message
}
if($total_count >=6 && $total_count <=9){
   // Display a message
}

将根据您的需要工作。

编辑

如果你想组合它们:

if(($cart_items_count >= 10 || $total_count > 10) || ($total_count >=6 && $total_count <=9)){
   // Display a message
}

【讨论】:

  • 非常感谢!此外,如果想为第二个条件显示不同的消息。我应该再次重新声明代码吗?
  • 如果你想要两个不同的消息,你不应该把这两个条件结合起来。
  • 非常感谢!我非常感谢您的帮助和支持。祝你有美好的一天!
猜你喜欢
  • 2018-07-23
  • 1970-01-01
  • 1970-01-01
  • 2018-08-07
  • 2016-02-28
  • 2021-07-19
  • 1970-01-01
  • 2020-04-28
  • 1970-01-01
相关资源
最近更新 更多