Сделайте фильтр специфичным для продукта - PullRequest
0 голосов
/ 28 января 2020

У меня установлена ​​установка woocommerce, и я пытаюсь заставить корзину возвращать фиксированное значение независимо от количества. Наконец-то я нашел подходящий фильтр для этого.

add_filter('woocommerce_cart_subtotal','subtotalchanger',0);
    function subtotalchanger($subtotal){
        $my_fixed_subtotal = 1.65;
        return $my_fixed_subtotal;
    }

Но при попытке нацеливания на соответствующий продукт фильтр работать не будет.

add_filter('woocommerce_cart_subtotal','subtotalchanger',0);
        function subtotalchanger($subtotal){
        if (is_single('15455')){
        $my_fixed_subtotal = 1.65;
        return $my_fixed_subtotal;
        }
    }

что я тут не так делаю?

1 Ответ

1 голос
/ 28 января 2020

Вы имеете в виду это?

function subtotalchanger($subtotal, $compound, $cart ) {
    $cart = WC()->cart->get_cart();

    foreach( $cart as $cart_item ) {        
        $product = wc_get_product( $cart_item['product_id'] );

        // Get product id
        $product_id = $product->get_id();

        if ( $product_id == 15455 ) {
            $subtotal = 1.65;
        }
    }

    return $subtotal;
}
add_filter( 'woocommerce_cart_subtotal', 'subtotalchanger', 10, 3 ); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...