2016-09-07 92 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

相关问题