根据 WooCommerce 结帐页面上的产品类别应用自定义数量参数

Apply custom quantity arguments based on the product category on the WooCommerce checkout page

我的客户在页面上有您可以购买 12 和 12 的产品。

因此数量字段的基值为 12,如果您想添加另一个框,请单击箭头,它会显示 12,因此数量值会从 12 变为 24。

它基于类别,因此如果类别 == '12',则输入基值为 12。

add_filter("woocommerce_quantity_input_args", function($args, $product){

    if(has_term("12", "product_cat", $product->get_id())) {

        $args['input_value'] = 12;
        $args['min_value'] = 12; 
        $args['step'] = 12; 

    }

    return $args;

}, 10, 2);

如果我将 12x2 (24) 添加到我的购物车,它只会显示 12 而不是与商店页面相同的数量值 (24)

您可以使用 woocommerce_checkout_cart_item_quantity 过滤器钩子

所以你得到:

function filter_woocommerce_checkout_cart_item_quantity( $item_qty, $cart_item, $cart_item_key ) {
    // Get product id
    $product_id = $cart_item['product_id'];
    
    // Has term
    if ( has_term( 12, 'product_cat', $product_id ) ) {
        // Output
        $item_qty = '<strong class="product-quantity">' . sprintf( '&times;&nbsp;%s', 12 ) . '</strong>';       
    }

    // Return
    return $item_qty;
}
add_filter( 'woocommerce_checkout_cart_item_quantity', 'filter_woocommerce_checkout_cart_item_quantity', 10, 3 );