当可变数量低于一定数量时,我正在尝试使可变产品更昂贵。诸如反向折扣之类的东西。
我发现了如何更改价格以及获取一系列变动库存数量的方法,仅如何使这两种东西协同工作仍然是我的一个谜。有人可以帮忙吗?
// Variable
add_filter('woocommerce_product_variation_get_regular_price', 'jp_custom_price', 99, 2 );
add_filter('woocommerce_product_variation_get_price', 'jp_custom_price' , 99, 2 );
// Variations (of a variable product)
add_filter('woocommerce_variation_prices_price', 'jp_custom_variation_price', 99, 3 );
add_filter('woocommerce_variation_prices_regular_price', 'jp_custom_variation_price', 99, 3 );
function jp_custom_price( $price ) {
global $product;
if ($product->is_type( 'variable' )){
$variations = $product->get_available_variations();
foreach ( $variations as $variation ) {
$variation_o = new WC_Product_Variation( $variation['variation_id'] );
$variations_stock = $variation_o->get_stock_quantity();
if ($variations_stock <= 100) {
return $price * 1.2;
} elseif ($variations_stock <= 50) {
return $price * 1.5;
} else {
return $price;
}
}
}
}
function jp_custom_variation_price( $price, $variation, $product ) {
return $price;
}
这个想法是,如果变化的存货数量少于100,则价格乘以1.2。当数量低于50时,应乘以1.5。