You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已隐藏缺货商品,如何让Woocommerce分类小部件仅统计有库存商品?

解决WooCommerce产品分类小部件仅统计有库存商品的问题

你遇到的这个情况确实是WooCommerce的默认行为——虽然你已经在库存设置里隐藏了缺货商品,但分类小部件的计数逻辑并没有同步这个过滤规则。下面是两种可靠的解决方法,你可以根据自己的需求选择:

方法一:自定义代码过滤分类计数(推荐轻量方案)

你可以通过添加一段PHP代码来修改分类小部件的查询逻辑,让它只统计有库存的商品。操作方式有两种:

  • 子主题functions.php文件:如果你熟悉主题编辑,直接把代码添加到子主题的functions.php末尾(一定要用子主题,避免主题更新丢失代码)
  • 代码片段插件:比如用Code Snippets这类插件管理自定义代码,无需直接编辑主题文件,更安全
add_filter( 'woocommerce_product_categories_widget_args', 'filter_instock_only_category_counts' );
function filter_instock_only_category_counts( $args ) {
    // 给分类小部件的查询添加库存状态过滤
    $args['meta_query'] = array(
        array(
            'key'     => '_stock_status',
            'value'   => 'instock',
            'compare' => '=',
        )
    );
    return $args;
}

这段代码的作用是给产品分类小部件的商品查询追加一个条件:只包含库存状态为「instock」(有库存)的商品,从而修正计数结果。

方法二:插件实现(适合不想写代码的用户)

如果你不想手动操作代码,可以使用带库存过滤功能的WooCommerce扩展插件,比如WooCommerce Stock Manager或者Advanced Woo Search(部分功能支持分类计数过滤)。不过这类插件通常附带更多额外功能,如果你只需要修正分类计数,方法一更轻量高效。

验证效果

添加代码或启用插件后,刷新网站前端,查看产品分类小部件的计数,应该就会只显示有库存商品的数量了。如果计数没有更新,建议清除网站缓存和浏览器缓存后再检查。

内容的提问来源于stack exchange,提问作者Ali Beshir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:50:54