WP_Query by just the id?

  • In the codex for WP_Query I see you can query by page_id=7 for pages or by p=7 for posts. Is there a way to get a post of any post type by ID? Like id=7 that will get it no matter if it's a page, post or custom post type?

    I can only get WP_Query with p=7 to work if I add &post_type=customposttype. Is there a way to get it from the ID regardless of the post type?

  • Milo

    Milo Correct answer

    9 years ago

    any should retrieve any type:

    $args = array(
      'p'         => 42, // ID of a page, post, or custom type
      'post_type' => 'any'
    $my_posts = new WP_Query($args);

    Note the description of any in the documentation:

    'any' - retrieves any type except revisions and types with 'exclude_from_search' set to true.

    For more information, have a look at the documentation of WP_Query.

    for specifics or multiple post try `$query = new WP_Query( array( 'post_type' => 'any', 'post__in' => array( 2, 5, 12, 14, 20 ) ) );` you can use postTypes = page, post, any ;

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM