php woocommerce变化和数量步骤

tzcvj98z  于 2023-02-28  发布在  PHP
关注(0)|答案(2)|浏览(104)

woocommerce样品产品有A,B,C变体我想这样做,当选择“A”变体,数量步骤去12,24,36...为“B”,6,12,18...为“C”10,20,30...找到了数量步骤的代码,但我不知道如何修改它,感谢帮助

// Simple products
add_filter( 'woocommerce_quantity_input_args', 'jk_woocommerce_quantity_input_args', 10, 2 );
function jk_woocommerce_quantity_input_args( $args, $product ) {
$args['input_value'] = 2; // Starting value
$args['max_value'] = 80; // Maximum value
$args['min_value'] = 2; // Minimum value
$args['step'] = 2; // Quantity steps
return $args;
}

// Variations
add_filter( 'woocommerce_available_variation', 'jk_woocommerce_available_variation' );
function jk_woocommerce_available_variation( $args ) {
$args['max_qty'] = 80; // Maximum value (variations)
$args['min_qty'] = 2; // Minimum value (variations)
return $args;
}

/////////////////////////////////////////////////我可以支付30美元谁想要供应我的要求

uujelgoq

uujelgoq1#

在这些代码之前,我添加了自定义字段“_pro_pack_box”和“_pro_pcs_pack”。您可以看到这个article

// Simple products
add_filter( 'woocommerce_quantity_input_args', 'jk_woocommerce_quantity_input_args', 10, 2 );

function jk_woocommerce_quantity_input_args( $args, $product ) {
    $pack_box = get_post_meta($product->post->ID, "_pro_pack_box", true);
    $pcs_pack = get_post_meta($product->post->ID, "_pro_pcs_pack", true);
    //if ( is_singular( 'product' ) ) {
    //  $args['input_value']    = 2;    // Starting value (we only want to affect product pages, not cart)
    //}
    //$args['max_value']    = 80;   // Maximum value
    $args['min_value']  = $pcs_pack;    // Minimum value
    $args['step']       = $pcs_pack;    // Quantity steps
    return $args;
}

// Variations
add_filter( 'woocommerce_available_variation', 'jk_woocommerce_available_variation' );

function jk_woocommerce_available_variation( $args ) {
    //$args['max_qty'] = 80;        // Maximum value (variations)
    $args['min_qty'] = $pcs_pack;       // Minimum value (variations)
    return $args;
}
owfi6suc

owfi6suc2#

我认为这很简单。对于那些仍然对这个问题感兴趣的人来说。你只需要使用一个js。你的表单有一个js(jquery)对象,其中包括WooVariationSwatches。只需在这个对象中更改值和步骤。逻辑原型:
'A变量-〉onclick {
$("#你的表单").数据("WooVariationSwatches").元素[0][4].步长= 12;
}`
第二步发送你的表单上的按钮. Ajax请求将发送正确的数据.

相关问题