数据库中的哪个位置存储了Woocommerce产品类别计数?

时间:2016-11-24 16:23:29

标签: wordpress woocommerce

我想在woocommerce类别中进行自定义计数。因此,类别不会显示他们是否有缺货产品或标记为不在网站上显示的产品。

我似乎无法更改类别页面上显示的值。

我试过了: 更改wp_term_taxonomy表的count列中的值。 更改metakey product_count_product_tag

的wp_termmeta中的值

通过这两项更改,显示的计数似乎没有变化。

我似乎无法找到值可能被缓存的任何地方。 我也找不到任何可能改变价值的钩子。

1 个答案:

答案 0 :(得分:1)

所以我至少找到了一个问题的部分答案。

计数存储在term_taxonomy表中,但是当它显示子类别时,它会显示所有这些

我找到了一个允许你更改args的钩子,因此你可以隐藏为空,因为默认情况下隐藏empty = false和pad_count = 1所以你需要将hide_empty设置为true并设置pad_count = 0(否则它会添加一个计数,但没有一个是0)

add_filter( 'woocommerce_product_subcategories_args','hide_subcategories_with_no_products', 10, 1 ); 

function hide_subcategories_with_no_products( $args ) {
    $args['hide_empty'] = 1;
    $args['hierarchical'] = true;
    $args['pad_counts'] = 0;    
    return $args; 
}

注意:对我来说,woocommerce_product_subcategories_hide_empty HOOK不起作用。我想这可能是因为它使用count(*)而不是count列或pad_count被设置为1