WordPress WP_查询自定义顺序_by post_type功能

qxgroojn  于 2023-08-03  发布在  WordPress
关注(0)|答案(2)|浏览(129)

WordPress 6.2.2我有一个查询,它检索给定Meta值的内容。

$query_posts_for_board_game = new WP_Query(
    array(
        'post_type' => ['reviews','articles', 'topics'],
        'posts_per_page' => 5,
        'meta_query' => array(
           // left empty for brevity
        ),
    )
);

字符串
它返回以下列表:

Expanding Everdell: A Ranking <-- article
Everdell Digital Game Review <-- review
Board Games with Animeeples <-- topic
Everdell Newleaf & Mistwood Game Video Review <-- review
Everdell Game Review <-- review


x1c 0d1x的数据
我想强制评论在列表中排在第一位,然后是文章,然后是主题。我知道我可以通过在查询中添加以下内容来调整顺序:

'orderby' => 'post_type',
'order' => 'desc',


但是,这将主题放在评论之前,按字母顺序颠倒。PHP / WordPress允许我们使用动态orderby语句吗?如果你想看更多的例子,这里有一个链接到有问题的页面:第一个月

lawou6xi

lawou6xi1#

没有'orderby' => 'post_type'
使用这个代替'orderby' => 'type'

order-orderby-parameters

7rtdyuoh

7rtdyuoh2#

虽然我仍然认为有一种更好的方法,但我最终这样做的方法是将我的查询分成两部分。我运行一个查询来获取reviews,另一个查询来获取articlestopics(以升序排列,以便文章先出现),然后array_merge-将这两个查询合并在一起。由于我将组合数组存储在一个 transient 中,因此一旦缓存,结果也同样快。

相关问题