Изменение цены товара в корзину
-
Всем здравствуйте. Есть проблема с woocommerce, судя по поиску очень популярна, но я не смог с ней справится, уже сил нет.
Woocommerce самый стандартный, не кастомизированый (v4.6).
Не могу изменить цену товара, при добавлении в корзину.Ситуация такая:
На странице одного товара имеется калькулятор. При вводе данных меняю цену визуально и в форму woocommerce, с одной кнопкой, создаю скрытый input, куда записываю стоимость с калькулятора.<form class="cart" action="" method="post" enctype="multipart/form-data"> <div class="quantity hidden"> <input type="hidden" id="quantity_5fcd43afc4ba0" class="qty" name="quantity" value="1"> </div> <button type="submit" name="add-to-cart" value="2584" class="single_add_to_cart_button button">Купить</button> <input type="hidden" value="11960" name="change-product-price"> </form>
Мне нужно эту новую сумму применить при добавлении в корзину.
Нагуглил такое решение:
add_action( 'woocommerce_before_calculate_totals', 'add_custom_price', 9999, 1); function add_custom_price( $cart ) { $new_price = $_REQUEST['change-product-price']; // Avoiding hook repetition (when using price calculations for example) if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 ) return; foreach ( $cart->get_cart() as $item ) { $item['data']->set_price( $new_price ); } }
Но цена становится равной
0
. Записывал все это дело в логи, срабатывает этот экшн 2 раза. На первом вызове цена есть, на втором уже не определена.Не знаю что делать.
Подскажите пожалуйста, кто сталкивался.
За ранее большое спасибо!
- Тема «Изменение цены товара в корзину» закрыта для новых ответов.