设置自定义添加到购物车默认数量,Woocommerce 购物车页面除外

Set custom Add to cart default quantity except on Woocommerce cart page

我正在使用下面的这个过滤器来设置默认添加到购物车时要预定义的 2 个产品的默认数量。它实际上在产品页面上工作,默认数量设置为 2,并将 2 个产品添加到购物车。但是当用户进入购物车页面时出现问题,如果 he/she 添加了 4 个产品,除了显示的数量为 2 之外,所有计算都正确完成。即使我将购物车页面上的数量更改为 6,例如,并刷新购物车,除了显示的数量显示为 2 之外,所有金额都已正确重新计算。 我想我应该以某种方式将此过滤器仅应用于添加到购物车按钮,但不知道如何。

我希望得到帮助。

add_filter( 'woocommerce_quantity_input_args', 'rb_woocommerce_quantity_changes', 10, 2 );
function rb_woocommerce_quantity_changes( $args, $product ) {
   $args['input_value'] = 2;
   $args['max_value'] = 12;
   $args['min_value'] = 1;
   $args['step'] = 1;
   return $args; 
}

'input_value' 参数上使用 is_cart() 尝试以下操作:

add_filter( 'woocommerce_quantity_input_args', 'custom_quantity_input_args', 10, 2 );
function custom_quantity_input_args( $args, $product ) {

   if( ! is_cart() )
       $args['input_value'] = 2; // Not on cart page

   $args['max_value'] = 12;
   $args['min_value'] = 1;
   $args['step'] = 1;

   return $args; 
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。

相关文档:Woocommerce conditional tags