WooCommerce - 在购物车中计算总产品数量 - 而不是数量

时间:2015-08-02 08:29:14

标签: woocommerce cart

我有购物车数量,但我需要购物车中的产品数量。我不想显示总数量,但想要在购物车中显示总产品/订单。

请帮忙!

3 个答案:

答案 0 :(得分:4)

我在客户端项目@ jivith.com

中遇到了同样的问题

但我解决了......

在minicart / cart功能中使用替换购物车中的总产品数量 - 而不是其数量项目

$_cartQty = count( WC()->cart->get_cart() );
**or** use sizeof (WC()->cart->get_cart());

我在购物车中获得了唯一的总产品数量,而不是数量的项目...

我的演示代码:

<span class="cart-items"><?php echo ($minicart_type == 'minicart-inline')
                        ? '<span class="mobile-hide">' . sprintf( _n( '%d item', '%d items', $_cartQty, 'porto' ), $_cartQty ) . '</span><span class="mobile-show">' . $_cartQty . '</span>'
                        : (($_cartQty > 0) ? $_cartQty : '0'); ?></span>

答案 1 :(得分:2)

您可以使用WC()->cart->cart_contents获取唯一产品的总数。这包含一系列购物车项目。您可以使用array_unique()函数来避免重复ID。最后,您可以使用array_count来获取唯一产品的数量。

答案 2 :(得分:0)

我的事情以下代码将帮助您。我有一个问题,我想在购物车选项中显示总产品数量而非数量。

如果更改class-wc-cart.php文件,只需将php函数array_sum()更改为count()即可。

public function get_cart_contents_count() {   
    return apply_filters( 'woocommerce_cart_contents_count', count( wp_list_pluck( $this->get_cart(), 'quantity' )) );
}