在WooCommerce中设置可变产品类别的默认数量输入值

时间:2019-05-22 作者:mehdi lag

我在woocommerce中有一个名为flyer的可变产品,我想将其默认数量输入值设置为500作为其最小数量。这是我到目前为止所做的,但默认数量仍然是1。

add_filter( \'woocommerce_available_variation\', \'jk_woocommerce_available_variation\' ); // Variations
function jk_woocommerce_available_variation( $args ) {

    if( has_term(\'flyer\') )

       $args[\'max_qty\'] = 10000;        // Maximum value (variations)
       $args[\'min_qty\'] = 500;
       $args[\'input_value\']=500;

    return $args;
}

1 个回复
最合适的回答,由SO网友:LoicTheAztec 整理而成

在…上woocommerce_available_variation 钩住$args 数组不包括input_value 论点

此外,您没有使用has_term() 以正确的方式为产品类别提供条件函数。

因此,请尝试以下代码:

add_filter( \'woocommerce_available_variation\', \'customizing_available_variation\', 10, 3 ); // Variations
function customizing_available_variation( $args, $product, $variation ) {
    if( has_term( \'flyer\', \'product_cat\', $product->get_id() ) ) {
        $args[\'max_qty\']     = 10000;        // Maximum value (variations)
        $args[\'min_qty\']     = 500;
        // $args[\'input_value\'] = 500; // This argument doesn\'t exist here
    }
    return $args;
}

add_filter( \'woocommerce_quantity_input_args\', \'customizing_quantity_input_args\', 10, 2 );
function customizing_quantity_input_args( $args, $product ) {
    if( $product->is_type(\'variable\') && has_term( \'flyer\', \'product_cat\', $product->get_id() ) ) {
        $args[\'max_value\']   = 10000; // Maximum value (variable product)
        $args[\'min_value\']   = 500;
        $args[\'input_value\'] = 500;
    }
    return $args;
}
代码进入函数。活动子主题(或活动主题)的php文件。已测试并正常工作。

相关推荐