Throw pages into search queries. Let's see how they handle. see #5149
git-svn-id: https://develop.svn.wordpress.org/trunk@6467 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
93cc3c8e10
commit
5b1a91e0c3
|
@ -749,8 +749,12 @@ class WP_Query {
|
||||||
$search = '';
|
$search = '';
|
||||||
$groupby = '';
|
$groupby = '';
|
||||||
|
|
||||||
if ( !isset($q['post_type']) )
|
if ( !isset($q['post_type']) ) {
|
||||||
|
if ( $this->is_search )
|
||||||
|
$q['post_type'] = 'any';
|
||||||
|
else
|
||||||
$q['post_type'] = 'post';
|
$q['post_type'] = 'post';
|
||||||
|
}
|
||||||
$post_type = $q['post_type'];
|
$post_type = $q['post_type'];
|
||||||
if ( !isset($q['posts_per_page']) || $q['posts_per_page'] == 0 )
|
if ( !isset($q['posts_per_page']) || $q['posts_per_page'] == 0 )
|
||||||
$q['posts_per_page'] = get_option('posts_per_page');
|
$q['posts_per_page'] = get_option('posts_per_page');
|
||||||
|
@ -885,8 +889,7 @@ class WP_Query {
|
||||||
$q['s'] = stripslashes($q['s']);
|
$q['s'] = stripslashes($q['s']);
|
||||||
if ($q['sentence']) {
|
if ($q['sentence']) {
|
||||||
$q['search_terms'] = array($q['s']);
|
$q['search_terms'] = array($q['s']);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $q[s], $matches);
|
preg_match_all('/".*?("|$)|((?<=[\\s",+])|^)[^\\s",+]+/', $q[s], $matches);
|
||||||
$q['search_terms'] = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
|
$q['search_terms'] = array_map(create_function('$a', 'return trim($a, "\\"\'\\n\\r ");'), $matches[0]);
|
||||||
}
|
}
|
||||||
|
@ -897,7 +900,7 @@ class WP_Query {
|
||||||
$search .= "{$searchand}((post_title LIKE '{$n}{$term}{$n}') OR (post_content LIKE '{$n}{$term}{$n}'))";
|
$search .= "{$searchand}((post_title LIKE '{$n}{$term}{$n}') OR (post_content LIKE '{$n}{$term}{$n}'))";
|
||||||
$searchand = ' AND ';
|
$searchand = ' AND ';
|
||||||
}
|
}
|
||||||
$term = addslashes_gpc($q['s']);
|
$term = $wpdb->escape($q['s']);
|
||||||
if (!$q['sentence'] && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] )
|
if (!$q['sentence'] && count($q['search_terms']) > 1 && $q['search_terms'][0] != $q['s'] )
|
||||||
$search .= " OR (post_title LIKE '{$n}{$term}{$n}') OR (post_content LIKE '{$n}{$term}{$n}')";
|
$search .= " OR (post_title LIKE '{$n}{$term}{$n}') OR (post_content LIKE '{$n}{$term}{$n}')";
|
||||||
|
|
||||||
|
@ -1145,6 +1148,8 @@ class WP_Query {
|
||||||
$where .= " AND post_type = 'page'";
|
$where .= " AND post_type = 'page'";
|
||||||
} elseif ($this->is_single) {
|
} elseif ($this->is_single) {
|
||||||
$where .= " AND post_type = 'post'";
|
$where .= " AND post_type = 'post'";
|
||||||
|
} elseif ( 'any' == $post_type ) {
|
||||||
|
$where .= '';
|
||||||
} else {
|
} else {
|
||||||
$where .= " AND post_type = '$post_type'";
|
$where .= " AND post_type = '$post_type'";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue