mirror of
git://develop.git.wordpress.org/
synced 2025-02-28 02:22:25 +01:00
If the queried term does not exist make sure no posts are returned in the query rather than falling through to querying all posts. Fixes 404s when querying cats that do not exist. see #12891
git-svn-id: https://develop.svn.wordpress.org/trunk@16511 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
3cf1723947
commit
75453e5e2d
@ -1947,8 +1947,12 @@ class WP_Query {
|
||||
if ( !empty( $this->tax_query ) ) {
|
||||
$clauses = call_user_func_array( 'get_tax_sql', array( $this->tax_query, $wpdb->posts, 'ID', &$this) );
|
||||
|
||||
$join .= $clauses['join'];
|
||||
$where .= $clauses['where'];
|
||||
if ( empty($clauses['join']) && empty($clauses['where']) ) {
|
||||
$where .= ' AND 0 = 1';
|
||||
} else {
|
||||
$join .= $clauses['join'];
|
||||
$where .= $clauses['where'];
|
||||
}
|
||||
|
||||
if ( $this->is_tax ) {
|
||||
if ( empty($post_type) ) {
|
||||
|
@ -539,7 +539,7 @@ function get_tax_sql( $tax_query, $primary_table, $primary_id_column ) {
|
||||
|
||||
foreach ( $taxonomies as $taxonomy ) {
|
||||
if ( ! taxonomy_exists( $taxonomy ) )
|
||||
return ' AND 0 = 1';
|
||||
return array( 'join' => '', 'where' => ' AND 0 = 1');
|
||||
}
|
||||
|
||||
$taxonomies = "'" . implode( "', '", $taxonomies ) . "'";
|
||||
@ -592,6 +592,7 @@ function get_tax_sql( $tax_query, $primary_table, $primary_id_column ) {
|
||||
)";
|
||||
}
|
||||
}
|
||||
|
||||
return compact( 'join', 'where' );
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user