An empty taxonomy query should return no results rather than all posts. Props wonderboymusic. fixes #20604

git-svn-id: http://core.svn.wordpress.org/trunk@22109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Ryan Boren 2012-10-04 13:16:47 +00:00
parent 7a86de87fb
commit 3c2b9a6901
1 changed files with 9 additions and 6 deletions

View File

@ -660,23 +660,26 @@ class WP_Tax_Query {
$join = '';
$where = array();
$i = 0;
$count = count( $this->queries );
foreach ( $this->queries as $query ) {
foreach ( $this->queries as $index => $query ) {
$this->clean_query( $query );
if ( is_wp_error( $query ) ) {
if ( is_wp_error( $query ) )
return self::$no_results;
}
extract( $query );
if ( 'IN' == $operator ) {
if ( empty( $terms ) ) {
if ( 'OR' == $this->relation )
if ( 'OR' == $this->relation ) {
if ( ( $index + 1 === $count ) && empty( $where ) )
return self::$no_results;
continue;
else
} else {
return self::$no_results;
}
}
$terms = implode( ',', $terms );
@ -720,7 +723,7 @@ class WP_Tax_Query {
$i++;
}
if ( !empty( $where ) )
if ( ! empty( $where ) )
$where = ' AND ( ' . implode( " $this->relation ", $where ) . ' )';
else
$where = '';