我正在使用query_posts
来获取最热门帖子的列表。我正在使用几种自定义帖子类型,而不是在查询中包含所有这些类型,我想要一个只获得所有这些的查询,如果我创建更多。
这就是我所拥有的:
query_posts(array(
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'post_type' => array('posttype1', 'postype2', 'posttype3')
)
);
如果我不包含post_type
,则只会获得标准的帖子类型post
。有没有人有想法?
答案 0 :(得分:9)
您可以使用'post_type' => 'any'
从所有帖子类型中获取内容。请参阅此文档。 http://codex.wordpress.org/Class_Reference/WP_Query#Type_Parameters
注意:强烈建议您使用WP_Query
而不是query_posts
。 https://wordpress.stackexchange.com/a/1755/27998
答案 1 :(得分:0)
query_posts(array(
'post_type' => get_post_types(),
'meta_key' => 'post_views_count',
'orderby' => 'meta_value_num',
'order' => 'DESC',
'post_type' => array('posttype1', 'postype2', 'posttype3')
)
);
get_post_types()可以解决问题
答案 2 :(得分:0)
df['Colors'] = df['COUNT'].map(map_colors).fillna('rgb(226, 230, 189)')
NAME COUNT Colors
0 a 25 rgb(211, 63, 106)
1 b 23 rgb(233, 154, 44)
2 c 14 rgb(226, 230, 189)
3 d 19 rgb(232, 195, 60)
4 e 2 rgb(226, 230, 189)
这将获取除修订版以外的所有帖子。 https://developer.wordpress.org/reference/classes/wp_query/#post-type-parameters
因此您的查询将是:
'post_type' => 'any',
答案 3 :(得分:0)
如果您想使用get_posts()
,唯一的解决方法是使用'post_type' => get_post_types()
返回任何帖子类型的所有帖子的示例:
$posts = get_posts([
'post_type' => get_post_types(),
'post_status' => 'publish',
'numberposts' => -1,
]);