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:
parent
7a86de87fb
commit
3c2b9a6901
|
@ -660,23 +660,26 @@ class WP_Tax_Query {
|
||||||
$join = '';
|
$join = '';
|
||||||
$where = array();
|
$where = array();
|
||||||
$i = 0;
|
$i = 0;
|
||||||
|
$count = count( $this->queries );
|
||||||
|
|
||||||
foreach ( $this->queries as $query ) {
|
foreach ( $this->queries as $index => $query ) {
|
||||||
$this->clean_query( $query );
|
$this->clean_query( $query );
|
||||||
|
|
||||||
if ( is_wp_error( $query ) ) {
|
if ( is_wp_error( $query ) )
|
||||||
return self::$no_results;
|
return self::$no_results;
|
||||||
}
|
|
||||||
|
|
||||||
extract( $query );
|
extract( $query );
|
||||||
|
|
||||||
if ( 'IN' == $operator ) {
|
if ( 'IN' == $operator ) {
|
||||||
|
|
||||||
if ( empty( $terms ) ) {
|
if ( empty( $terms ) ) {
|
||||||
if ( 'OR' == $this->relation )
|
if ( 'OR' == $this->relation ) {
|
||||||
|
if ( ( $index + 1 === $count ) && empty( $where ) )
|
||||||
|
return self::$no_results;
|
||||||
continue;
|
continue;
|
||||||
else
|
} else {
|
||||||
return self::$no_results;
|
return self::$no_results;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$terms = implode( ',', $terms );
|
$terms = implode( ',', $terms );
|
||||||
|
@ -720,7 +723,7 @@ class WP_Tax_Query {
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !empty( $where ) )
|
if ( ! empty( $where ) )
|
||||||
$where = ' AND ( ' . implode( " $this->relation ", $where ) . ' )';
|
$where = ' AND ( ' . implode( " $this->relation ", $where ) . ' )';
|
||||||
else
|
else
|
||||||
$where = '';
|
$where = '';
|
||||||
|
|
Loading…
Reference in New Issue