如何在购物车中获取自定义属性值的总和?

时间:2016-09-07 02:27:51

标签: php wordpress woocommerce cart product

我的部分产品具有自定义属性 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做同样的事情?

感谢。

1 个答案:

答案 0 :(得分:3)

首先,您使用旧的(工作)购物车语法:如果您使用 global woocommerce; ,则不再需要 $woocommerce->cart < strong> 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文件中,也可以在任何插件文件中。

此代码经过测试且有效。