如何在WooCommerce默认商店页面仅展示特色产品?
嘿,这个需求其实挺常见的,我给你整理了几个靠谱的解决方案,从代码到无代码的都有,你可以根据自己的技术能力选:
方法1:用代码钩子(适合懂点开发的用户)
WooCommerce的商店页本质是WordPress的主查询,我们可以通过pre_get_posts钩子修改这个查询,让它只加载特色产品。
把下面这段代码添加到你的子主题functions.php文件里,或者用自定义代码插件(比如Code Snippets)来添加:
add_action( 'pre_get_posts', 'woo_only_featured_products_on_shop' ); function woo_only_featured_products_on_shop( $query ) { // 只针对商店页的主查询生效 if ( $query->is_shop() && $query->is_main_query() && ! is_admin() ) { // 设置查询只包含特色产品 $query->set( 'meta_query', array( array( 'key' => '_featured', 'value' => 'yes' ) ) ); } }
👉 注意:别直接修改父主题的functions.php,不然主题更新后代码会丢失,用子主题或者代码插件更稳妥。
方法2:利用WooCommerce内置短代码(无代码,简单快捷)
如果你不想碰代码,这个方法最省事:
- 登录WordPress后台,找到「页面」里的默认「商店」页面,点击编辑
- 清空页面里原有的所有内容(默认商店页内容是自动生成的,清空后不会影响,因为我们要替换成短代码)
- 插入WooCommerce的特色产品短代码:
[featured_products] - 保存页面
如果想要控制显示数量、列数,可以加参数,比如显示12个产品,4列布局:
[featured_products per_page="12" columns="4"]
👉 小提示:确保商店页面的「模板」设置为「默认模板」,不要选其他特殊模板,否则短代码可能不生效。
方法3:用插件实现(适合完全不想碰代码的用户)
如果你连短代码都不想写,可以用专门的插件来搞定:
- 安装并激活类似「WooCommerce Product Filters」或者「Featured Products for WooCommerce」这类插件
- 进入插件设置页面,找到商店页的产品筛选/展示设置
- 选择只显示「特色产品」,保存设置即可
这类插件通常还能帮你调整产品排序、布局,适合新手用户。
最后别忘了测试一下,清空网站缓存(如果有缓存插件的话),确保商店页只显示你标记为特色的产品~
内容的提问来源于stack exchange,提问作者WooQA
相关产品推荐
相关产品推荐

