如何按自定义顺序展示WooCommerce特色产品
回答
完全可以实现WooCommerce特色产品的自定义排序需求,你要求的D、C、A、B、E展示顺序不需要复杂二次开发就能完成,以下是可直接落地的方案:
方案1:后台原生拖拽排序(零代码,最推荐)
- 登录WordPress管理后台,在左侧菜单栏找到「产品」选项进入产品列表页
- 点击列表页顶部的「排序」标签,进入可视化排序模式
- 直接按住产品拖动调整位置,按D、C、A、B、E的顺序排列后松开即可,系统会自动保存排序结果
- 如果你用的是系统自带的特色产品区块/小工具,在区块设置里把排序规则选为「默认菜单排序」,前台就会按照你刚才拖动的顺序展示特色产品
方案2:区块手动选品(不影响全局产品排序)
如果你不想改动全站所有产品的默认排序,只需要调整特色产品模块的展示顺序:
- 进入需要展示特色产品的页面编辑界面,点击选中已添加的特色产品区块
- 在右侧区块设置面板中,把排序方式改为「手动选择产品」
- 按照D、C、A、B、E的顺序依次勾选对应产品,保存页面后前台就会按你选择的顺序输出
方案3:自定义代码固定排序(适合自定义模板场景)
如果你是在自定义主题模板中调用特色产品,可以直接通过查询参数指定排序,参考代码如下:
// 按自定义顺序获取特色产品 $custom_featured_query = new WP_Query([ 'post_type' => 'product', 'post_status' => 'publish', 'posts_per_page' => 5, // 括号内按你需要的顺序填入对应产品的ID即可,顺序为D、C、A、B、E 'post__in' => [23, 18, 5, 9, 31], 'orderby' => 'post__in', 'tax_query' => [ [ 'taxonomy' => 'product_visibility', 'field' => 'slug', 'terms' => 'featured', 'operator' => 'EXISTS' ] ] ]); // 后续正常走产品循环输出逻辑即可
注意:调整完排序后如果前台展示没有变化,清空站点缓存插件生成的页面缓存、本地浏览器缓存后再刷新验证即可。
内容的提问来源于stack exchange,提问作者Vishal Lohar
相关产品推荐
相关产品推荐

