Woocommerce - 分组产品的默认数量

时间:2013-11-28 09:20:45

标签: woocommerce

在Woocommerce中使用分组产品时,组内每件产品的默认数量为0.如何将此默认数量更改为1?

我希望有人只需点击一下即可将群组中的所有子产品添加到购物车中。默认所有数量都设置为0,因此在单击“添加到购物车”按钮之前,他们必须将所有单独的数量设置为1。如果我可以将所有数量预设为1,那么他们只需要点击添加到购物车。

3 个答案:

答案 0 :(得分:2)

不幸的是,在另一个使用的答案中给出的文件中没有过滤器,我不建议编辑核心文件。

您可以使用以下过滤器,但我似乎无法将产品类型识别为“已分组”,因此这些设置将应用于每个产品输入(我想要将其设置为1,因此没有问题)

add_filter( 'woocommerce_quantity_input_args', 'custom_quantity', 10, 2 );
function custom_quantity( $args, $product ) {
    $args['input_value'] = 1;
    return $args;
}

答案 1 :(得分:0)

我修改了Sormano的解决方案,以解决Joao提出的问题。

这是更新的代码:

add_filter( 'woocommerce_quantity_input_args', 'custom_quantity', 10, 2 );
function custom_quantity( $args, $product ) {
    $args['input_value'] = empty($args['input_value']) ? 1 : $args['input_value'];
    return $args;
}

答案 2 :(得分:-1)

您可以修改grouped.php中的第49行

  

路径:wp-content / plugins / woocommerce / templates / single-product / add-to-cart / grouped.php

更改结尾处的0:

<?php woocommerce_quantity_input( array( 'input_name' => 'quantity['.$child_product['product']->id.']', 'input_value' => '0' ) ); ?>

至1(或10或任何您想要的默认数量):

<?php woocommerce_quantity_input( array( 'input_name' => 'quantity['.$child_product['product']->id.']', 'input_value' => '1' ) ); ?>

它有点hacky(因为不同类型的分组产品之间没有区别),但在我的情况下,我只有1种类型的分组产品开始,所以这个修复是可行的,我需要的。

我确信你可以进一步搞乱php来为每种类型定制它,但这可能会变得很痛苦。

另一个潜在的选项是这个woocommerce插件:http://docs.woothemes.com/document/minmax-quantities/

但我没有尝试过,所以我不能说它的有效性。