2016-09-07 24 views
2

我的一些產品具有自定義屬性pa_ves-g。在購物車中,我需要購買所有產品的全部數量。如何獲得購物車中的自定義屬性值的總和?

我發現體重驗證碼:

function myprefix_cart_extra_info() { 
    global $woocommerce; 
    echo '<div class="cart-extra-info">'; 
    echo '<p class="total-weight">' . __('Total weight', 'woocommerce'); 
    echo ' ' . $woocommerce->cart->cart_contents_weight . ' ' . 'kg'; 
    echo '</p>'; 
    echo '</div>'; 
} 

因此,如何做同樣pa_ves-g

謝謝。

回答

3

首先使用的是舊的(工作)車語法:你不再需要global woocommerce;如果不是使用$woocommerce->cart您使用WC()->cart實際語法。

使用該代碼獲得總容積車價值屬性:

function myprefix_cart_extra_info() { 
    $volume = 0; 

    // Iterating though each item in cart 
    $cart_items = WC()->cart->get_cart(); 
    foreach($cart_items as $cart_item){ 
     $item_id = $cart_item['product_id']; 
     $terms = get_the_terms($item_id , 'pa_ves-g'); 
      foreach($terms as $key => $term) 
       if(!empty($term->name)) $volume += $term->name; 
     } 

    echo '<div class="cart-extra-info">'; 
    echo '<p class="total-weight">' . __('Total volume', 'woocommerce'); 
    echo ' ' . $volume . ' ' . 'm3'; 
    echo '</p>'; 
    echo '</div>'; 
} 

這正好在你的主動兒童主題(或主題)的function.php文件或也以任何插件文件。

該代碼已經過測試並且可以正常工作。

+0

感謝您的幫助。但這對我沒有用。爲了調試的目的,我添加了'foreach($ cart_item ['variation']作爲$ key => $ value) { echo $ key。「的值爲」。 $值; }',這裏沒有卷屬性。它僅顯示用於製作變體的屬性。你能建議嗎? – nobilik

+0

感謝您的幫助。 – nobilik

相關問題