Wordpress get_posts order_by title不起作用

时间:2018-01-20 14:07:00

标签: php wordpress

- 我有一个似乎没有正确排序的get_posts查询。

$args = array(
            'post_type' => array(),
            'order_by' => 'title',
            'order' => 'ASC',
            'post_status' => 'publish',
            'posts_per_page' => -1,     
            'meta_query' => array(),
        );

后面的行填充了post_typemeta_query数组,但我不认为他们需要说明问题。我告诉这个按标题升序排序。然而,当查询返回时,我得到一个这样的订单:

  • Kevin Starr
  • Yamasaki Nakamura
  • 瑞德假日
  • Giant Anaconda
  • Cassidy Cray
  • Tiger Gold
  • Brian Fury

这似乎没有押韵或理由。我检查了数据库,没有特殊字符。我甚至运行了选择查询

SELECT * 
FROM  `prestige_posts` 
WHERE post_type =  'workers'
ORDER BY post_title
LIMIT 0 , 30

手动并获得我期望的确切结果。代码中的其他位置具有几乎完全相同的查询并且正常工作。那么为什么这不能正常回归呢?

即。一个函数在同一个文件中正确返回的示例:

$args = array(
                    'post_type' => $postType,
                    'orderby' => 'title',
                    'order' => 'ASC',
                    'post_status' => 'publish',
                    'posts_per_page' => -1, 
                    'post_parent' => $entry['id'],
                );
                $lastposts = get_posts($args);

1 个答案:

答案 0 :(得分:0)

我只是个白痴。 关键是orderby,我使用order_by。那就是问题所在。我花了好几个小时才发现它。