WordPress WP_按帖子类型查询自定义订单功能

问题描述 投票:0回答:2

我使用的是 WordPress 6.2.2。我有一个查询,可以检索给定元值的内容。

$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

我想强制将评论放在列表中的第一位,然后是文章,然后是主题。我知道我可以通过将其添加到我的查询中来调整顺序:

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

但这会将主题按字母顺序倒序排列在评论之前。 PHP/WordPress 是否允许我们使用动态 orderby 语句?如果您想查看更多示例,请点击以下页面的链接:

https://www.meeplemountain.com/trending-board-games/

php wordpress
2个回答
0
投票

没有

'orderby' => 'post_type'

用这个代替
'orderby' => 'type'

#按参数排序


0
投票

虽然我仍然认为有更好的方法,但我最终的做法是将查询分成两部分。我正在运行一个查询来获取

reviews
,另一个查询为
articles
topics
(按升序排列,以便文章排在前面),然后
array_merge
将这两个查询放在一起。由于我将组合数组存储在瞬态中,因此一旦被缓存,结果就一样快。

© www.soinside.com 2019 - 2024. All rights reserved.