如何在WooCommerce的数量字段中对某些类别使用小数?

时间:2020-08-05 作者:D. F.

我找到了我想在woocommerce商店中使用的代码,但我只想将其用于商店中的某些类别。有人能解释一下我怎么做吗?

// Add min value to the quantity field (default = 1)
add_filter(\'woocommerce_quantity_input_min\', \'min_decimal\');
function min_decimal($val) {
    return 0.1;
}
 
// Add step value to the quantity field (default = 1)
add_filter(\'woocommerce_quantity_input_step\', \'nsk_allow_decimal\');
function nsk_allow_decimal($val) {
    return 0.1;
}
 
// Removes the WooCommerce filter, that is validating the quantity to be an int
remove_filter(\'woocommerce_stock_amount\', \'intval\');
 
// Add a filter, that validates the quantity to be a float
add_filter(\'woocommerce_stock_amount\', \'floatval\');
 
// Add unit price fix when showing the unit price on processed orders
add_filter(\'woocommerce_order_amount_item_total\', \'unit_price_fix\', 10, 5);
function unit_price_fix($price, $order, $item, $inc_tax = false, $round = true) {
    $qty = (!empty($item[\'qty\']) && $item[\'qty\'] != 0) ? $item[\'qty\'] : 1;
    if($inc_tax) {
        $price = ($item[\'line_total\'] + $item[\'line_tax\']) / $qty;
    } else {
        $price = $item[\'line_total\'] / $qty;
    }
    $price = $round ? round( $price, 2 ) : $price;
    return $price;
}
提前感谢!

1 个回复
SO网友:Alireza SA

检查此示例代码:

add_filter(\'woocommerce_quantity_input_min\', \'min_decimal\', 10, 2);
function min_decimal($val, WC_Product $product) {
if(get_the_category($product->id) == 12) { // 12 = ID on the category you want it to work with
return 0.1;
}
return 1;
}
add_filter(\'woocommerce_quantity_input_step\', \'step_decimal\', 10, 2);
function step_decimal($val, WC_Product $product) {
if(get_the_category($product->id) == 12) { // 12 = ID on the category you want it to work with
return 0.1;
}

return 1;
}

相关推荐