WordPress Development Asked by Lisandro Vaccaro on January 15, 2021
I’m trying to select all rows from the database regardless of post type, however when suppressing post_type WP_Query only gets rows with post_type = "post"
is there a way to suppress the post_type filter (or select all post types)?
// This just selects post_type = "posts"
$args = array(
'post_status' => 'publish',
'posts_per_page' => -1,
'ignore_sticky_posts' => true,
);
$qry = new WP_Query( $args );
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 );
Answered by s_ha_dum on January 15, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP