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

ありがとうございました。しかし、それは私の仕事ではありません。デバッグ目的のために、私は '$ key => $ valueとして' foreach($ cart_item ['variation'])を追加しました。 { echo $ key。 "は値を持っています。 $値; } 'ボリューム属性はありません。私はバリエーションのために使用する属性のみを表示します。アドバイスできますか? – nobilik

+0

BIGヘルプありがとうございます。 – nobilik

関連する問題