如何在WooCommerce中隐藏特定分类产品且分类页面不显示内容?
实现WooCommerce单个分类页面隐藏子分类与产品的方案
完全可行,虽然WooCommerce默认的分类页面设置里没有直接提供「既不显示子分类也不显示产品」的选项,但可以通过自定义代码实现需求,同时保证该分类下的产品仍能在商店主页、搜索结果中正常显示。
具体实现方法:添加自定义代码
你可以通过以下代码来达到效果,操作步骤如下:
- 进入WordPress后台,打开「外观」→「主题文件编辑器」,找到当前激活主题的
functions.php文件;或者使用自定义代码插件(如Code Snippets)来添加代码(更安全,避免主题更新丢失代码)。 - 添加以下代码,将代码中的
your-category-slug替换为你要设置的目标分类的别名(slug):
add_action( 'woocommerce_product_query', 'hide_target_category_content' ); function hide_target_category_content( $q ) { $current_term = get_queried_object(); // 验证当前页面是否是目标产品分类页面 if ( $current_term instanceof WP_Term && $current_term->taxonomy === 'product_cat' && $current_term->slug === 'your-category-slug' ) { // 让产品查询返回空结果,隐藏产品 $q->set( 'post__in', array(0) ); // 过滤并隐藏子分类 add_filter( 'woocommerce_product_subcategories_args', function() { return array( 'include' => array(0) ); }); } }
- 保存修改后,访问目标分类页面,即可看到页面既不显示子分类也不显示产品,而该分类下的产品依然会在商店主页、搜索结果中正常展示。
代码说明
- 首先判断当前页面是否为目标产品分类页面,避免影响其他页面
- 通过
post__in设置为包含不存在的ID,让产品查询返回空结果,实现隐藏产品的效果 - 通过过滤子分类的查询参数,让子分类也返回空结果,达到隐藏子分类的目的
内容的提问来源于stack exchange,提问作者Qwertzui11
相关产品推荐
相关产品推荐

