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,
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 :
$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]);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With