代码实现WooCommerce:设置指定产品的最低购买金额

代码实现WooCommerce:设置指定产品的最低购买金额

我们已经研究了如何以编程方式设置最小/最大WooCommerce添加到购物车数量。那很容易。这次,我想扩展主题,并定义“每个产品的最小订购量”。

将类似于“将指定产品产品的最低购买金额设置为$ 50美金”。然后,我希望添加到购物车的数量不会从1开始-而是默认为“ $ 50美金除以产品价格”。

例如:如果产品价格为$10美元,我希望将单个产品和购物车页面上的最小添加到购物车数量设置为“ 5”。

解决方案:

PHP代码段:在WooCommerce单一产品和购物车页面上,根据购买的最低金额,为特定产品设置“最小添加到购物车数量

在下面的示例中,为产品ID = 123设置了最低购买金额$ 50。此功能需要作用于单个产品页面和购物车页面。如果产品ID = 123,价格为$ 9,则$ min的金额为:ceil(50/9)= 6

代码如下:

// 1. 单个产品,123位产品ID,请在对应产品的连接处查看
 
add_filter( 'woocommerce_quantity_input_min', 'yongwp_woocommerce_quantity_min_50_eur', 9999, 2 );
   
function yongwp_woocommerce_quantity_min_50_eur( $min, $product ) {  
 
   if ( is_product() ) {
      if ( 123 === $product->get_id() ) {
         $min = ceil( 50 / $product->get_price() );
      }
 
   }
    
   return $min;
 
}
 
// ------------
// 2. 购物车页面
 
add_filter( 'woocommerce_cart_item_quantity', 'yongwp_woocommerce_quantity_min_50_eur_cart', 9999, 3 );
   
function yongwp_woocommerce_quantity_min_50_eur_cart( $product_quantity, $cart_item_key, $cart_item ) {  
    
   $_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
    
   $min = 0;
 
   if ( 123 === $product->get_id() ) {
      $min = ceil( 50 / $_product->get_price() );
   }
    
   $product_quantity = woocommerce_quantity_input( array(
      'input_name'   => "cart[{$cart_item_key}][qty]",
      'input_value'  => $cart_item['quantity'],
      'max_value'    => $_product->get_max_purchase_quantity(),
      'min_value'    => $min,
      'product_name' => $_product->get_name(),
   ), $_product, false );
    
   return $product_quantity;
 
}

将PHP代码段放在主题functions.php文件的底部(如果有?>  就放最底部?>之前,没有就直接放置在最后面就可以)

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"Yongwp.com",如遇到无法解压的请联系管理员!
WordPress外贸建站 » 代码实现WooCommerce:设置指定产品的最低购买金额

查看优质的WP整站案例

立即查看 联系我们