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

如何隐藏WooCommerce中无价格或价格为0的商品?

当然可以!在WooCommerce里隐藏无价格或价格为0的商品,有两种靠谱方案——自定义代码(适合有点开发基础的朋友,不用额外装插件)和现成插件(对新手更友好)。我给你详细说说:

方法一:自定义代码实现(无需插件)

你可以通过添加代码到主题的functions.php文件,或者用代码片段插件来管理(更安全,避免主题更新丢失代码)。

直接用这段代码就行:

add_action( 'pre_get_posts', 'hide_zero_price_products' );
function hide_zero_price_products( $query ) {
    // 只在前台商品列表生效,不影响后台管理
    if ( ! is_admin() && $query->is_main_query() && ( is_shop() || is_product_category() || is_product_tag() ) ) {
        $meta_query = $query->get( 'meta_query' );
        $meta_query[] = array(
            'relation' => 'OR',
            array(
                'key'     => '_price',
                'value'   => '0',
                'compare' => '>',
                'type'    => 'NUMERIC'
            ),
            array(
                'key'     => '_price',
                'compare' => 'EXISTS'
            )
        );
        $query->set( 'meta_query', $meta_query );
    }
}

这段代码的作用是:在商店首页、商品分类页、商品标签页这些前台商品列表页面,自动过滤掉价格为0或者根本没设置价格的商品。_price是WooCommerce存储商品价格的元数据键,通过元查询确保只显示有价格且价格大于0的商品。

小提醒:如果直接改functions.php,记得先备份文件;用Code Snippets这类插件来添加代码会更安全,就算代码写错了,也能快速禁用,不会导致网站崩溃。

方法二:用现成插件(新手友好)

如果不想碰代码,这些插件能帮你快速搞定:

  • WooCommerce Products Filter:这款插件功能很全面,除了隐藏0价格商品,还能做各种商品筛选(价格范围、分类、属性等)。安装后在插件设置里找到价格过滤选项,直接勾选排除无价格或价格为0的商品就行,操作超直观。
  • Advanced Woo Search:虽然主打搜索功能,但它的筛选模块也能轻松设置隐藏无价格/0价格商品,界面简单,新手跟着指引几步就能搞定。
额外注意事项
  • 如果你用了缓存插件(比如WP Rocket、W3 Total Cache),修改设置或添加代码后一定要清缓存,不然可能看不到即时效果。
  • 有些主题自带商品筛选功能,你可以先看看主题的设置面板里有没有相关选项,说不定不用额外加代码或插件就能解决。
  • 要是你卖的是可变商品(有多个规格变体),要确保所有变体的价格都不为0,不然商品可能还是会显示。这时候可以调整代码来检查变体价格,或者用插件的变体过滤功能来处理。

内容的提问来源于stack exchange,提问作者Naser Nikzad

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 07:19:25