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

WordPress中get_posts/WP_query的orderby与order排序失效求助

解决WordPress按post_modified降序排序的问题

嘿,我来帮你搞定这个按文章修改时间排序的麻烦!你说用get_posts()和WP_Query都没生效,大概率是参数设置的小问题或者被其他代码干扰了,我给你一步步捋清楚:

一、正确的get_posts()写法

先确保你的参数数组里明确指定了orderby为post_modified,order为DESC,别漏了关键参数,比如:

// 自定义你的查询参数
$args = array(
    'post_type'      => 'post', // 替换成你需要的文章类型,比如自定义类型就写对应的slug
    'posts_per_page' => -1,     // 按需调整,-1表示获取所有符合条件的文章
    'orderby'        => 'post_modified', // 核心:按修改时间字段排序
    'order'          => 'DESC',          // 核心:降序(最新修改的在前)
    'post_status'    => 'publish'        // 只取已发布的文章,按需调整
);

// 执行查询
$modified_posts = get_posts($args);

// 遍历输出示例
foreach ($modified_posts as $post) {
    setup_postdata($post);
    echo '<h3>' . get_the_title() . '</h3>';
    echo '<p>最后修改时间:' . get_the_modified_date() . '</p>';
}
wp_reset_postdata(); // 别忘了重置全局post对象

二、正确的WP_Query写法

WP_Query的参数和get_posts基本一致,但要注意循环的规范写法,避免全局变量冲突:

$args = array(
    'post_type'      => 'post',
    'posts_per_page' => 10,
    'orderby'        => 'post_modified',
    'order'          => 'DESC'
);

$modified_query = new WP_Query($args);

// 开始循环
if ($modified_query->have_posts()) {
    while ($modified_query->have_posts()) {
        $modified_query->the_post();
        // 输出内容示例
        the_title('<h3>', '</h3>');
        echo '<p>修改时间:' . get_the_modified_date('Y-m-d H:i:s') . '</p>';
    }
    wp_reset_postdata(); // 必须重置,否则后续查询会出错
} else {
    echo '没有找到符合条件的文章';
}

三、排查为什么排序没生效

如果上面的代码还是没效果,你可以从这几个方向查:

  • 检查参数拼写:别把post_modified写成post_modify,order的DESC大小写不敏感,但尽量用大写规范写法。
  • 检查是否被其他代码干扰:有些主题或插件会通过pre_get_posts钩子修改查询参数,你可以暂时禁用其他插件、切换到默认主题测试,或者在functions.php里临时移除自定义的pre_get_posts钩子试试。
  • 查看实际执行的SQL:用下面的代码输出WP_Query生成的SQL语句,确认ORDER BY部分是不是post_modified DESC:
    $modified_query = new WP_Query($args);
    echo $modified_query->request; // 输出SQL,检查排序子句
    
  • 清除缓存:WordPress自带缓存、插件缓存(比如WP Rocket)或者服务器缓存可能会显示旧的排序结果,清一下缓存再看。

要是还是搞不定,把你写的代码片段贴出来,我帮你揪出问题~

内容的提问来源于stack exchange,提问作者OM The Eternity

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:09:27