Patch to allow 'post_parent=0' queries to be executed properly
|Reported by:||stefano.verna||Owned by:|
I found that the following piece code doesn't work as it should:
<?php get_posts('post_type=page&post_parent=0'); ?>
In fact, it returns all the pages, instead of just the children of the root (that is, the pages with depth = 1). This is due to the check that is being made in WP_Query:
if ( $q['post_parent'] ) $where .= $wpdb->prepare( " AND $wpdb->posts.post_parent = %d ", $q['post_parent'] );
So, as $qpost_parent? is 0 (aka false), the relative action gets skipped. Just replacing this check with the more appropriate is_integer() solves the problem.