2016-09-28 2 views
1

У меня есть два продукта A и B. Если A добавлено в корзину, это стоит 10 долларов. Если B добавляется в корзину, для A имеется дополнительная надбавка в размере 5 долларов США (для всей линии, независимо от количества).Изменить корзину Товар Цена После Добавлено в корзину

Есть ли способ изменить итоговые значения строк после того, как элемент был добавлен в корзину?

ответ

0

Я новичок в Woocommerce. Но я думаю, что могу немного помочь вам, потому что я должен недавно исследовать ту же тему.

Попробуйте это. Все кредиты идут WooCommerce - Adding a custom price to each product in cartwoocommerce, how can i add additional cost in cart product total price?.

Я сделал только небольшие изменения (уже проверено. 13558 - это идентификатор продукта B).

add_filter('woocommerce_get_discounted_price', 'calculate_discounted_price', 10, 2); 
add_filter('woocommerce_cart_item_subtotal', 'display_discounted_price', 10, 2); 

function calculate_discounted_price($price, $values, $cart_object) { 
    $terms = wc_get_product_terms($product->id, $attribute_name, array('fields' => 'all')); 

    foreach(WC()->cart->get_cart() as $cart_item_key => $values) { 
     $_product = $values['data']; 

     if($_product->id == '13558') { 
      //print_r("Producto B en Carrito"); 
      $price +=5; 
     } 
    } 
    return $price; 
} 
function display_discounted_price($values, $item) { 

    return wc_price($item[ 'line_total' ]); 
} 
+0

Что это за линия: $ terms = wc_get_product_terms ($ product-> id, $ attribute_name, array ('fields' => 'all')); ? – danyo