WooCommerce - Getting total products count in the cart - not their quantity

∥☆過路亽.° 提交于 2020-01-12 20:34:50

问题


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!


回答1:


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>



回答2:


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:


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' )) );
}


来源:https://stackoverflow.com/questions/31769985/woocommerce-getting-total-products-count-in-the-cart-not-their-quantity

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!