为什么使用pre_get_posts
使用自己的get_posts()
? 您只需将参数列表直接传递给get_posts()
.
orderby
可以接受参数数组,并可以按多个值排序。命名元查询数组的索引。这可以是orderby参数中使用的任何内容。e、 g。
\'meta_query\' => array(
\'album_title_meta\' => array(
\'key\' => \'sd_album_title\',
\'compare\' => \'EXISTS\',
),
\'album_track_n_meta\' => array(
\'key\' => \'sd_album_track_n\',
\'value\' => \'target_value\',
\'compare\' => \'>=\',
\'type\' => \'numeric\'
)
),
然后传入一个数组
orderby
, 使用这些键构造!
\'orderby\' => array(
\'album_title_meta\' => \'ASC\',
\'album_track_n_meta\' => \'DESC\',
),
首先,帖子将按专辑标题、ASC、曲目编号、DESC排序。
The complete example:
$my_args = array(
\'post_type\' => \'lyric\',
\'meta_query\' => array(
\'album_title_meta\' => array(
\'key\' => \'sd_album_title\',
\'compare\' => \'EXISTS\',
),
\'album_track_n_meta\' => array(
\'key\' => \'sd_album_track_n\',
\'value\' => \'target_value\',
\'compare\' => \'>=\',
\'type\' => \'numeric\'
)
),
\'orderby\' => array(
\'album_title_meta\' => \'ASC\',
\'album_track_n_meta\' => \'DESC\',
),
);
$getlist = get_posts($my_args);
注意:这些语法仅在WordPress之后受支持
version
4.2