6

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

比如,这三个类别,

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

现在,如果有人搜索华硕,那么有 2 台笔记本电脑、4 台台式机和 7 台桌子与华硕匹配。

现在,在侧边栏中,每个类别将显示与搜索类别匹配的产品数量。

目前,我使用 tax_query 参数显示 Default WP_Query 的计数器,但它看起来很慢,因为如果有 50 个类别,查询会运行 20 次。我相信有更好的方法来做到这一点。

有人可以帮我找到一些更简单的方法吗?

4

1 回答 1

1

您可以按条款获得计数:

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

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

如果您只想采用父类别,您可以这样做

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

于 2021-11-29T10:13:38.167 回答