woocommerce - 当库存低 woocommerce 时,不允许用户角色购买选项
问题描述
我需要这样的东西:
可以设置当我们有最后 5 件库存时,某些用户角色(批发)不能订购该产品?
例如,如果我们将数量设置为 6 件,批发客户只能订购 1 件以保持最少 5 件,如果低于 5 件,批发客户不能订购产品?
解决方案
我不知道你的要求是否可行。但我有一个逻辑(这可能是也可能不是正确的方法)
- 单击添加到购物车按钮获取库存数量和用户角色
- 检查用户角色是否为批发客户且库存数量是否为必填项
- 如果是,则阻止产品添加到购物车
这是上述逻辑的基本实现。我刚刚检查了代码,发现产品没有添加到购物车。您可以构建代码以满足您的要求。
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);
推荐阅读
- vb.net - 使用 DragDrop VB.Net 复制文件
- python-3.x - 在python dict中计算相等的值(碰撞)
- angular - Angular 12/rxjs 7/angularfire:不推荐使用 toPromise 的异步令牌拦截器
- python - 如何删除列中包含“无评论”字符串的行?
- python - 如何以不同的方式在骰子上获得点,我无法弄清楚
- android - 我可以在 iOS 和 android 应用程序中为 Google 登录设置嵌入式 Web 视图的用户代理吗?
- docker - 不了解 docker build --secret 应该如何使用
- javascript - 在 React 中使用 props 控制 Kendo PanelBar 的展开状态
- algorithm - 试图找到问题 Power Sum 解决方案的复杂性
- cypress - 如何在 Cypress 中处理 Cross Origin iframe 元素?