WooCommerce - Getting total products count in the

2020-07-11 04:22发布

I have total cart quantity but I need count of products available in the cart. I donot want to show total quantity but want to show total products/orders in the cart.

Please help!

3条回答
男人必须洒脱
2楼-- · 2020-07-11 04:34

You can get the total number of unique product is using WC()->cart->cart_contents. This contains an array of cart items. You can use array_unique() function to avoid repetition of the ids. So finally you can use array_count to get the count of unique products.

查看更多
啃猪蹄的小仙女
3楼-- · 2020-07-11 04:45

i had same issue in client project @ jivith.com

But i resolved ...

Use in minicart / cart function replace total products count in the cart - not their quantity items

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

i getting the total unique total products count in the cart instead of item of their quantity...

My demo code:

<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>
查看更多
霸刀☆藐视天下
4楼-- · 2020-07-11 04:54

I things Following code will help you. I had a issue i want to show total product counts not their quantity in the cart option.

If you change on class-wc-cart.php file just change php function array_sum() to count() it will work.

public function get_cart_contents_count() {   
    return apply_filters( 'woocommerce_cart_contents_count', count( wp_list_pluck( $this->get_cart(), 'quantity' )) );
}
查看更多
登录 后发表回答