You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WooCommerce如何按last modified最后修改日期对商品进行排序

你之前直接传orderby=modified不生效,是因为WooCommerce默认自定义了商品查询的排序规则,不会直接识别WordPress原生的modified排序参数,以下是可行的解决方法:

  • 方法1:添加自定义代码启用按修改日期排序
    将以下代码添加到当前使用主题的functions.php文件,或者自定义功能插件的代码文件中:
// 注册modified作为合法的商品排序参数
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_enable_modified_orderby' );
function custom_enable_modified_orderby( $args ) {
    if ( isset( $_GET['orderby'] ) && 'modified' === $_GET['orderby'] ) {
        $args['orderby'] = 'modified';
        $args['order'] = 'DESC'; // 最新修改的排最前面,要反过来就改成ASC
    }
    return $args;
}

// 可选:把按修改日期排序的选项添加到前台排序下拉框
add_filter( 'woocommerce_catalog_orderby', 'custom_add_modified_orderby_option' );
function custom_add_modified_orderby_option( $options ) {
    $options['modified'] = '最近更新优先';
    return $options;
}

添加后再访问https://snake.cl/shop/?orderby=modified即可生效,更新商品库存属于修改商品操作,调整后对应商品会自动排到列表前列。

  • 方法2:结合现货/新品状态做更高优先级排序
    如果要让标记为新品、或者有现货的商品比仅修改过的商品排序更高,可以调整查询参数新增多条件排序规则,示例代码如下:
add_filter( 'woocommerce_get_catalog_ordering_args', 'custom_stock_new_priority_orderby' );
function custom_stock_new_priority_orderby( $args ) {
    if ( isset( $_GET['orderby'] ) && 'modified' === $_GET['orderby'] ) {
        $args['meta_query'] = array(
            'relation' => 'AND',
            'stock_clause' => array(
                'key' => '_stock_status',
                'value' => 'instock',
                'compare' => '=',
            ),
            'new_clause' => array(
                'key' => '_is_new', // 如果你没有用自定义字段标记新品可以删掉这段
                'compare' => 'EXISTS',
            )
        );
        $args['orderby'] = array(
            'stock_clause' => 'DESC',
            'new_clause' => 'DESC',
            'modified' => 'DESC'
        );
    }
    return $args;
}

按照上面的配置后,排序优先级为:现货商品 → 标记为新品的商品 → 最后修改日期最新的商品,可匹配你的需求。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 10:36:00