存在搜索字符串时的WooCommerce产品类别计数

Mea*_*jay 5 php mysql wordpress woocommerce

我正在创建一个用于显示WooCommerce产品的过滤器小部件,然后是该类别的产品计数,当存在搜索字符串时,它也将起作用。

像,有三个类别,

  1. 笔记本电脑(5)
  2. 台式机(7)
  3. 平板电脑(12)

现在,有人在搜索Asus,并且他们的2台笔记本电脑,4台台式机和7张桌子与Asus匹配。

现在,在侧边栏类别中将显示该类别中有多少产品符合搜索条件。

当前,我正在使用带有tax_query参数的默认WP_Query显示计数器。

但是它看起来非常慢,因为如果有50个类别,查询将运行20次。我相信有更好的方法可以做到这一点。

小智 1

您可以按条件获取计数:

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

foreach($terms as $term){
 echo "{$term->name} ({$term->count})"
}
Run Code Online (Sandbox Code Playgroud)

如果你只想获取父类别,你可以这样做

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