You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何修改WooCommerce特定产品分类存档页面的默认排序

针对特定产品分类修改默认排序为Newness的解决方案

没问题,我来帮你完善代码,实现只给指定产品分类(ID 3555)设置默认排序为「Newness」的需求——不用全局修改WooCommerce设置,完全通过代码实现精准控制。

完整代码实现

function change_specific_category_default_sorting( $args ) {
    // 检查当前是否是目标产品分类(这里用分类ID 3555,也可以换成分类slug,比如'your-category-slug')
    if ( is_product_category( 3555 ) ) {
        // 设置排序规则为「Newness」:按发布日期降序排列
        $args['orderby'] = 'date';
        $args['order'] = 'desc';
        // 可选:如果想让前端排序下拉菜单默认选中"Newness",可以添加下面这行
        add_filter( 'woocommerce_default_catalog_orderby', function() {
            return 'date';
        });
    }
    return $args;
}
// 使用WooCommerce的钩子来修改目录排序参数
add_filter( 'woocommerce_get_catalog_ordering_args', 'change_specific_category_default_sorting' );

代码说明

  • 我们用woocommerce_get_catalog_ordering_args这个钩子来修改产品目录的排序参数,这是WooCommerce官方推荐的方式
  • is_product_category(3555)用来精准判断当前页面是否是ID为3555的产品分类页,如果需要用分类别名(slug),把3555换成字符串比如'summer-collection'即可
  • 「Newness」对应的排序逻辑是按产品发布日期降序,所以设置orderbydateorderdesc
  • 可选的那行代码是让前端的排序下拉菜单默认选中「Newness」选项,让用户直观看到当前排序规则

你可以把这段代码添加到你的主题functions.php文件里,或者用自定义代码插件来添加,不会影响主题更新。

内容的提问来源于stack exchange,提问作者Seb G

火山引擎 最新活动