Access our premium support and let us know your problems, we will help you solve them.

0
No products in the cart.
  • This topic is empty.
Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #9961
    blankpshoeg
    Participant

    I’m using query_posts to get a list of most popular posts. I’m using several custom post types, and instead of including all of them in the query, I would like a query that just gets all of them, also if I create more.

    This is what I have:

    query_posts(array(
        'meta_key' => 'post_views_count',
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
            'post_type' => array('posttype1', 'postype2', 'posttype3')
        )
    );
    

    If I don’t include the post_type, it only gets the standard post type, post. Does anyone have an idea?

    #9964
    blanknilambar-sharma
    Participant

    You can use 'post_type' => 'any' for fetching from all post types. See this documentation. http://codex.wordpress.org/Class_Reference/WP_Query#Type_Parameters

    Note: It is highly recommended to use WP_Query rather than query_posts. https://wordpress.stackexchange.com/a/1755/27998

    #9963
    blankdee_ell
    Participant
    'post_type' => 'any',
    

    This gets all posts except revisions. https://developer.wordpress.org/reference/classes/wp_query/#post-type-parameters

    So your query would be:

    query_posts(array(
        'post_type' => 'any',
        'meta_key' => 'post_views_count',
        'orderby' => 'meta_value_num',
        'order' => 'DESC',
            'post_type' => array('posttype1', 'postype2', 'posttype3')
        )
    );
    
    #9962
    blankjules-colle
    Participant

    If you want to use get_posts(), the only work around is to use 'post_type' => get_post_types()

    Example that returns ALL posts of ANY post type:

    $posts = get_posts([
      'post_type' => get_post_types(),
      'post_status' => 'publish',
      'numberposts' => -1,
    ]);
    
Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.