石家庄wordpress建站教程WooCommerce:有条件地强制产品数量 1 @购物车

有时仅 WooCommerce 产品设置是不够的。您已经可以在单个产品编辑页面的“库存”产品数据选项卡中勾选“单独销售”复选框以强制任何产品的数量为 1:“启用此选项以仅允许在单个订单中购买此项目中的一个” .

问题是,您可能需要根据某些条件“以编程方式”(通过代码)设置它。一个原因是您可能不想逐个(或批量)编辑数百种产品 – 另一个原因是您可能希望根据某些条件“覆盖”任何设置(例如,您设置“单独销售”,但如果购物车总数大于 100,您希望允许数量大于 1)。

如您所见,在这篇文章中,我们将再次介绍“条件逻辑”的魔力。享受!

PHP 片段 1:如果产品库存低,则强制“单独销售”

 

/**
 * @snippet       Conditionally Force Sold Individually @ WooCommerce Cart
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli, BusinessBloomer.com
 * @testedwith    WooCommerce 4.5
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_filter( 'woocommerce_is_sold_individually', 'bbloomer_product_max_1_cart_stock_low', 9999, 2 );
 
function bbloomer_product_max_1_cart_stock_low( $individually, $product ) {
   if ( $product->get_stock_quantity() < 3 ) {
      $individually = true;
   }
   return $individually;
}

PHP Snippet 2:如果产品 ACF 字段存在,则强制“单独销售”

 

/**
 * @snippet       Conditionally Force Sold Individually @ WooCommerce Cart
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli, BusinessBloomer.com
 * @testedwith    WooCommerce 4.5
 * @donate $9     https://businessbloomer.com/bloomer-armada/
 */
 
add_filter( 'woocommerce_is_sold_individually', 'bbloomer_product_max_1_cart_custom_field', 9999, 2 );
 
function bbloomer_product_max_1_cart_custom_field( $individually, $product ) {
   $acf_field_value = get_field( 'acf_field_id', $product->get_id() );
   if ( $acf_field_value && 'whatever' == $acf_field_value ) {
      $individually = true;
   }
   return $individually;
}

常见问题
所有的素材与插件都可以用吗?
本站所有的素材与插件(包括免费的),都是本工作室用过的,测试过的,或者二开修改过的,理论上来说没有什么bug,但不保证在所有环境下都可以完美运行。
收费素材与免费素材怎么定义的
本站收费的素材,也是及其便宜的,其实就是收个打赏钱,是工作室对这些插件的测试,整理,修复,优化的辛苦钱,并非开发插件的费用,原创插件或者模版收费稍贵一些。
出现问题了怎么办?
由于收费非常低,大部分都不超10元,所以并不提供售后服务,但您如果需要,可以联系我付费咨询,费用为50元/次/小时。如果是原创模版或者插件,可以免费为您指导。
原文链接:https://www.52gys.cn/4707.html,转载请注明出处。
0

评论0

没有账号?注册  忘记密码?