WP_Query by just the id?

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 … Read more

When to use WP_query(), query_posts() and pre_get_posts

You are right to say: Never use query_posts anymore pre_get_posts pre_get_posts is a filter, for altering any query. It is most often used to alter only the ‘main query’: add_action(‘pre_get_posts’,’wpse50761_alter_query’); function wpse50761_alter_query($query){ if( $query->is_main_query() ){ //Do something to main query } } (I would also check that is_admin() returns false – though this may be … Read more