WooCommerce:更改具有特定库存数量的变化价格

时间:2019-07-08 15:02:42

标签: php wordpress woocommerce

当可变数量低于一定数量时,我正在尝试使可变产品更昂贵。诸如反向折扣之类的东西。

我发现了如何更改价格以及获取一系列变动库存数量的方法,仅如何使这两种东西协同工作仍然是我的一个谜。有人可以帮忙吗?

// 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。

0 个答案:

没有答案