当库存低的woocommerce时,不允许用户角色购买选项

问题描述 投票:-2回答:1

我需要这样的东西:

可以设置当我们库存最后5件时,某些用户角色(批发)无法订购该产品?

例如,如果我们将数量设置为6件,而不是批发客户可以订购仅1件,最少5件,如果比批发客户订单少于5件比产品?

woocommerce user-roles stock
1个回答
0
投票

我不知道你的要求是否可行。但我有一个逻辑(可能或可能不是正确的方式)

  • 点击添加到购物车按钮获取库存数量和用户角色
  • 检查用户角色是否为批发客户,库存数量是否为必需品
  • 如果是,则阻止产品被添加到购物车

这是上述逻辑的基本实现。我刚检查了代码,发现产品没有添加到购物车中。您可以构建代码以满足您的要求。

function stock_quantity_validation($valid, $product_id, $quantity){

  $qty = 7; // Your required stock quantity
  if( is_user_logged_in() ) {
    $user = wp_get_current_user();
    $roles = ( array ) $user->roles;
    if ( in_array( 'wholesale_customer', $roles ) ) {
      $stock = get_post_meta( $product_id, '_stock', true ); // Getting stock quantity of product
      if($stock < $qty){
        $valid = false;
      }
    }
  }
  return $valid;

}
add_filter('woocommerce_add_to_cart_validation','stock_quantity_validation', 10, 3);
© www.soinside.com 2019 - 2024. All rights reserved.