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

WordPress中get_posts按title排序失效问题排查求助

解决WordPress get_posts按标题排序异常的问题

嘿,这个问题其实是个很容易踩的小坑——你犯了一个参数拼写错误!

问题根源对比

看你给出的两段get_posts查询代码:

  • 出问题的查询里写的是:'order_by' => 'title'
  • 正常工作的查询里写的是:'orderby' => 'title'

WordPress的WP_Query(get_posts底层依赖的查询类)接受的排序参数名是**orderby**(没有下划线),而不是order_by。当你传入错误的参数名时,WordPress会直接忽略这个排序设置,转而使用默认的排序逻辑,这就导致你看到的结果完全不符合预期的标题升序排列。

这也能解释为什么你手动执行SQL语句能得到正确结果——数据库本身的排序逻辑没问题,问题出在WordPress没有正确识别你的排序指令。

修正方案

只需要把错误的参数名改成正确的即可:

$args = array( 
    'post_type' => array(), 
    'orderby' => 'title', // 修正参数名:order_by → orderby
    'order' => 'ASC', 
    'post_status' => 'publish', 
    'posts_per_page' => -1, 
    'meta_query' => array(), 
);

后续填充post_type和meta_query的逻辑不会影响排序效果,只要参数名正确,就能按照标题升序返回结果了。

内容的提问来源于stack exchange,提问作者E. Steev Ramsdell

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:42:41