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

如何隐藏指定WooCommerce分类商品,却保留其关联商品展示?

实现WooCommerce指定分类隐藏且关联商品正常显示的方案

完全可以实现这个需求,最佳方式是通过WooCommerce提供的查询钩子定制产品查询逻辑,既能精准隐藏指定分类在目标页面的内容,又不会影响关联商品的正常展示。

核心思路

仅在店铺列表页、分类页面、站内搜索结果页这三个场景下排除指定分类的产品;产品详情页的关联商品查询不受此规则限制,确保关联商品正常显示。

具体实现步骤

  1. 获取要隐藏的分类ID
    进入WooCommerce后台「产品-分类」页面,点击目标分类进入编辑页,从浏览器地址栏中找到term_id参数值(比如地址栏tag_id=12里的12),记录下两个分类的ID。

  2. 添加产品查询过滤代码
    将以下代码添加到当前主题的functions.php文件中,或使用「Code Snippets」这类代码片段插件管理(推荐后者,避免主题更新丢失代码):

    add_filter( 'woocommerce_product_query_tax_query', 'exclude_specific_cats_from_target_pages', 10, 2 );
    function exclude_specific_cats_from_target_pages( $tax_query, $query ) {
        // 替换为你需要隐藏的分类ID,多个用数组形式
        $excluded_cat_ids = array( 12, 34 );
    
        // 仅在目标页面应用排除规则
        if ( is_shop() || is_product_category() || is_search() ) {
            $tax_query[] = array(
                'taxonomy' => 'product_cat',
                'field'    => 'term_id',
                'terms'    => $excluded_cat_ids,
                'operator' => 'NOT IN',
            );
        }
    
        return $tax_query;
    }
    
  3. 隐藏导航菜单中的指定分类(可选)
    如果店铺导航菜单包含自动生成的产品分类,需额外添加代码隐藏这两个分类:

    add_filter( 'wp_get_nav_menu_items', 'remove_excluded_cats_from_menu', 10, 3 );
    function remove_excluded_cats_from_menu( $items, $menu, $args ) {
        $excluded_cat_ids = array( 12, 34 ); // 与上面的分类ID保持一致
        foreach ( $items as $key => $item ) {
            if ( $item->object === 'product_cat' && in_array( $item->object_id, $excluded_cat_ids ) ) {
                unset( $items[$key] );
            }
        }
        return $items;
    }
    

效果验证

设置完成后:

  • 店铺列表页、分类页面、搜索结果中不会出现指定分类下的产品,也不会显示这两个分类本身;
  • 当这些分类下的产品被设置为其他产品的关联商品时,在产品详情页的关联商品区域会正常展示。

注意事项

  • 若习惯用分类slug而非ID,可将代码中的'field' => 'term_id'改为'field' => 'slug','terms'的值换成分类slug数组(比如array( 'hidden-cat-1', 'hidden-cat-2' ));
  • 修改主题文件前建议备份,使用代码片段插件更安全便捷。

内容的提问来源于stack exchange,提问作者Mathew Smith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 06:55:13