WooCommerce特定分类页按年份降序+SKU升序排序实现求助
WooCommerce指定分类多规则排序解决方案
最终实现代码
add_filter('woocommerce_get_catalog_ordering_args', 'custom_category_19_orderby', 10, 1); function custom_category_19_orderby( $args ) { // 仅对ID为19的产品分类生效 if( is_product_category(19) ) { // 指定SKU作为元数据查询键 $args['meta_key'] = '_sku'; // 排序规则:先按发布年份降序,再按SKU升序 $args['orderby'] = [ 'year' => 'DESC', 'meta_value' => 'ASC' ]; } return $args; }
代码说明
- 无需手动维护任何产品自定义字段,自动读取系统自带的产品发布时间提取年份作为第一排序依据
- 第一优先级按发布年份降序排列,年份越新的产品越靠前
- 第二优先级按SKU升序排列,同一年份的产品按SKU的字母/数字顺序从小到大排列
- 替换掉你之前的临时方案代码,添加到当前主题的
functions.php文件末尾,或使用自定义代码片段插件插入即可生效
补充说明
如果存在未设置SKU的产品,会默认排在同一年分组的最前面,如需调整空SKU产品的排序位置,可补充元数据查询条件调整优先级。
内容的提问来源于stack exchange,提问作者abicatian
相关产品推荐
相关产品推荐

