Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

WooCommerce product category count

I'm creating a filter widget to show WooCommerce products followed by product count for the category, and it will also work when search string exists.

Like, These three categories,

  1. Laptops (5),
  2. Desktops (7),
  3. Tablets(12)

Now, if someone searches for Asus then there are 2 Laptops, 4 Desktops and 7 Tables match for Asus.

Now, In sidebar, per category will show how many products matches on the category for the search.

Currently, I am showing the counter by Default WP_Query with the tax_query parameter but it seems very slow, because if there are 50 categories, the query runs 20 times. I believe there is a better way to do this.

Can someone help me to find some easier way?

like image 599
Meathanjay Avatar asked Jan 30 '16 12:01

Meathanjay


1 Answers

You can get counts by terms :

$terms = get_terms('product_cat', ['hide_empty' => false]);

foreach($terms as $term){
 echo "{$term->name} ({$term->count})"
}

If you want to take only parent categories you can do it like this

$terms = get_terms('product_cat', ['hide_empty' => false, 'parent' => 0]);

like image 80
Meriton Reqica Avatar answered Oct 20 '22 18:10

Meriton Reqica