我尝试运行一个自定义的post类型查询,以匹配以下条件:
首先按年份降序排序电影,然后按标题字母顺序(“年内顺序”)。
所需输出:
电影标题A,2006
电影标题Z,2006
<1996年电影片名A
我使用以下代码:
$wp_query = new WP_Query();
$wp_query->query( array(
\'post_type\' => \'movies\',
\'distribution\' => \'companyA\',
\'meta_key\' => \'year\',
\'orderby\' => \'meta_value_num title\',
\'order\' => \'DESC\',
\'posts_per_page\' => -1,
\'post_status\' => \'publish\',
));
我尝试了几种方法,但我只能得到这个“相反”的结果:电影片名A,1996年电影片名Z,1996年<2006年电影片名A
如果我更改DESC,ASC,它只会更改标题排序。但我需要把它应用到今年,而不是标题上。
使用两个orderby值是否正确?还是必须使用meta\\u查询或自定义SQL?
thx提前!
以下是从中生成的SQL查询$GLOBALS[\'wp_query\']->request
选择;wp\\U岗位*
来自 ;wp\\U帖子 ;内部;加入;wp\\U term\\u关系
;在上;( ;wp\\u posts.id= ;wp\\u term\\u relationships.object\\u id)
;内部;加入;wp_Posteta
;在上;( ;wp\\u posts.id= ;wp\\u postmeta.post\\u id)
其中 ;1个= ;1
;和;( ;wp\\U term\\U relationships.term\\U taxonomy\\U id;IN)( ;24) ;)
;和;wp\\U岗位。post\\u类型= ;\'电影 ;和;( ;wp\\u posts.post\\u status=“发布”)
;和;( ;wp\\u postmeta.meta\\u key=“年”)
集团 ;由;wp\\U岗位。id订单 ;由;wp\\U邮差。meta\\u值+ ;0,
;wp\\U岗位。post\\u标题;说明;