在query_posts中获取WordPress中的所有帖子类型

时间:2015-05-31 06:58:16

标签: wordpress custom-post-type

我正在使用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。有没有人有想法?

4 个答案:

答案 0 :(得分:9)

您可以使用'post_type' => 'any'从所有帖子类型中获取内容。请参阅此文档。 http://codex.wordpress.org/Class_Reference/WP_Query#Type_Parameters

注意:强烈建议您使用WP_Query而不是query_postshttps://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,
]);