有时候,由于库存,目录或产品种种原因,你可能想在你的WooCommerce在线商店里对某些产品设定最小或最大订单量。现在我们来看一下怎么通过下面几种方式实现这一点。
允许每次只订购1个产品(单独出售)
如果你希望避免大量订单,可以强制客户每次只能购买一个产品。这个功能是WooCommerce自带的,你可以在产品界面的库存 > 单独出售 找到它。
设定最大购买量防止库存不足
另一种情况是为了避免仓库迅速断货,当产品库存低于某个数量时,你希望设置每次只能单独购买。要实现这一点,需要创建一个functions函数,在函数中定义库存阈值,当库存低于该阈值时,只允许单个产品的订单。代码的作用是在满足条件时(即产品库存低于代码中指定的数量),强制应用之前的单独出售条件。
/* 当库存低于3时强制产品单独售卖 */
add_filter( 'woocommerce_is_sold_individually', 'pedido_individual_inventario_bajo', 9999, 2 );
function pedido_individual_inventario_bajo( $individually, $product ) {
if ( $product->get_stock_quantity() < 3 ) {
$individually = true;
}
return $individually;
}
把上面的代码加载你的代码插件上或者加在主题的functions.php上运行。这段代码的作用就是当你网站上的某件产品库存低于3以下时,就会自动运行上面提到的“单独出售”。
限制产品最大和最少购买量
到了这笔记的重头戏。除了刚刚上面的最大购买限制,我们还可以给我们想要的产品设置最少和最大下单量。
1. 用代码设定所有产品订单最小和最大数量
如果你需要的是在所有产品上强制执行最小和最大订单量,那么这个代码就是你需要的。
/* 所有产品最少订单量 */
function woocommerce_quantity_input_min_callback($min, $product) {
$min = 3;
return $min;
}
add_filter('woocommerce_quantity_input_min', 'woocommerce_quantity_input_min_callback', 10, 2);
/* 所有产品最多订单量 */
function woocommerce_quantity_input_max_callback($max, $product) {
$max = 8;
return $max;
}
add_filter('woocommerce_quantity_input_max', 'woocommerce_quantity_input_max_callback', 10, 2);
这个代码通过 woocommerce_quantity_input_min
和 woocommerce_quantity_input_max
,分别设置了所有产品的最小订单量为3和最大订单量为8。将这段代码添加到你的主题的functions.php
文件上即可生效。
最终的效果如下:
2. 使用 Minimum and Maximum Quantity for WooCommerce 插件
如果你希望根据订单,产品,分类或客户所在国家设定自定义的最小或最大数量规则,那么可以使用一个叫 Minimum and Maximum Quantity for WooCommerce 的免费插件来实现,下载安装插件即可。
这种这么完整的多功能免费插件不多见,尤其是它的根据国家采取不同的限制规则,大多数都是抠抠搜搜的,要花银子才可以使用全部功能,这种多功能插件可以为你的WooCommerce商店提供更多的灵活性和控制。
下载安装插件后,它会自己先跳一个介绍界面,它(免费版)能做到的都基本在这个界面说了。
首先我们可以去到 settins 的 general,这里的设置是影响整个网站的,分别提供三种选项:
- 单个产品购买数量:这个和我们上面刚刚看到的一样,比如给每个产品设置3个开买和8个最多。
- 购买总额限制:我们可以设置必须结算总金额达到500刀才能购买。
- 不同产品数量限制:必须得买多少个不同产品才能结算。
在 “Manager rules” 我们可以添加想要的规则。分别可以给单个产品,变体产品,产品分类和国家,添加不同的单个产品购买规则。
3. 限制不同用户购买数量
除了上面提到的处理方式,我们还可以根据网站不同的用户来指定订单的最小或最大数量,这里我们可以使用另一个免费的插件:Maximum Products per User for WooCommerce,使用环境可以是你的网站分 B2B 和 B2C 用户。
这个插件允许你根据用户或用户角色设置订单的最小和最大数量规则。
这个插件不仅仅只用于设定最小或最大数量限制。
你可以:
- 配置每个用户的最大产品数量。
- 设置插件的限制条件,可以是数量、订单、价格(含税或不含税)、重量或体积。
- 按日期范围配置限制。
- 确定在订单的哪个状态下更新产品数据。
- 根据用户角色配置不同的最大产品限制。
- 如果超出任何限制,阻止进入结账页面。
- 将某些产品排除在规则之外。
- 根据使用的支付网关配置规则。
- 如果超出任何限制,隐藏产品。