By default– that is, unlss told otherwise– WP_Query
will search the post
post type. You may supply 'post_type' => 'any'
to retrieve all post types, but be aware that things like attachments are post types. For example…
$args = array(
'post_status' => 'publish',
'posts_per_page' => -1,
'ignore_sticky_posts' => true,
'post_type' => 'any'
);
$qry = new WP_Query( $args );
var_dump($qry->request);
Post types set as not searchable, such as the menu post type (which has no business being a post type at all IMHO), will be ignored. If you need those odd-ball post types, you will need to list them. get_post_types()
should help with that.
$args = array(
'post_status' => 'publish',
'posts_per_page' => -1,
'ignore_sticky_posts' => true,
'post_type' => get_post_types(),
);
$qry = new WP_Query( $args );