WooCommerce:如何让分类页优先显示特色产品
WooCommerce分类页让特色产品默认优先显示的无插件实现方法
不用插件和短代码的话,直接通过修改主题函数文件添加自定义排序逻辑就能实现,具体步骤如下:
操作步骤
- 登录WordPress后台,进入「外观」→「主题文件编辑器」
- 找到当前启用主题的
functions.php文件(强烈建议使用子主题的functions.php,避免主题更新时代码被覆盖) - 将以下代码粘贴到文件末尾,点击「更新文件」保存
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_featured_products_first' ); function custom_featured_products_first( $args ) { // 仅对产品分类页生效 if ( is_product_category() ) { // 以WooCommerce特色产品的标记字段作为排序依据 $args['meta_key'] = '_featured'; // 排序规则:特色产品优先,再按标题升序排列 $args['orderby'] = 'meta_value_num title'; $args['order'] = 'DESC ASC'; } return $args; }
代码说明
woocommerce_get_catalog_ordering_args是WooCommerce提供的钩子,专门用来修改产品列表的排序参数is_product_category()确保代码只在产品分类页生效,不会干扰首页、产品详情页等其他页面meta_key = '_featured'指定排序依据是WooCommerce内置的特色产品标记字段,该字段值为yes时代表是特色产品orderby = 'meta_value_num title'设置先按特色产品标记排序,再按产品标题升序排序,避免同是特色产品的展示顺序混乱order = 'DESC ASC'对应排序方式:特色产品(值为yes)排在前面,标题按A-Z顺序排列
注意事项
- 操作前务必备份
functions.php文件,避免代码错误导致网站无法访问 - 如果之后需要恢复默认排序,只需删除这段代码即可
内容的提问来源于stack exchange,提问作者Lari Salminen
相关产品推荐
相关产品推荐

