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,
- Laptops (5),
- Desktops (7),
- 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?
You can get counts by terms :
If you want to take only parent categories you can do it like this
$terms = get_terms('product_cat', ['hide_empty' => false, 'parent' => 0]);