WooCommerce: изменение цены вариантов с определенным количеством запаса - PullRequest
0 голосов
/ 08 июля 2019

Я пытаюсь сделать свои переменные продукты более дорогими, когда они попадают под определенное количество.Что-то вроде обратной скидки.

Я узнал, как изменить цену и как получить массив вариационного количества акций, только то, как заставить обе вещи работать вместе, все еще остается для меня загадкой.Может кто-нибудь помочь?

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...