2016-09-19 5 views
0

Я развиваю магазин онлайн с wordpress и woocommerce. Цена продуктов зависит от их размера. Я использую € х метров. Когда заказчик добавляет один товар в корзину, я обновляю пользовательскую цену WP-Sesseion, но когда клиент добавляет другой, общая цена не в порядке. Я получаю цену с сервера externar внутри json-файла и увеличиваю его в WP_session. Затем получите цену в funciton.php и обновите цену на тележку.Woocommerce, wordpress

function action_woocommerce_review_order_after_submit($cart_object) { 

$custom_price = WC()->session->get('price_project'); // This will be your custome price 
$target_product_id = WC()->session->get('product_id'); 
foreach ($cart_object->cart_contents as $value) { 
if ($value['product_id'] == $target_product_id) { 
    WC()->session->set('price' , $custom_price); 
$value['data']->price = $custom_price; 
} 
} 
} 

do_action('woocommerce_after_calculate_totals', 'action_woocommerce_review_order_after_submit'); 

Любые предложения? Спасибо

ответ

0

Возможно, вам понадобится использовать woocommerce_before_calculate_totals, поскольку корзина обновит итоговые значения после того, как вы вносите корректировки цен в этом случае.

Смежные вопросы