mirror of
https://github.com/WordPress/WordPress.git
synced 2024-12-23 01:27:36 +01:00
Query: Search should match post_excerpt
in addition to title and content.
When ordering search results, exact matches in the post excerpt are weighted above those in post content, but below those in the post title. Props swissspidy, sebastian.pisula. FIxes #35762. Built from https://develop.svn.wordpress.org/trunk@36647 git-svn-id: http://core.svn.wordpress.org/trunk@36614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
8b786f3d1c
commit
6d8a3f3612
@ -2156,7 +2156,7 @@ class WP_Query {
|
||||
}
|
||||
|
||||
$like = $n . $wpdb->esc_like( $term ) . $n;
|
||||
$search .= $wpdb->prepare( "{$searchand}(($wpdb->posts.post_title $like_op %s) $andor_op ($wpdb->posts.post_content $like_op %s))", $like, $like );
|
||||
$search .= $wpdb->prepare( "{$searchand}(($wpdb->posts.post_title $like_op %s) $andor_op ($wpdb->posts.post_excerpt $like_op %s) $andor_op ($wpdb->posts.post_content $like_op %s))", $like, $like, $like );
|
||||
$searchand = ' AND ';
|
||||
}
|
||||
|
||||
@ -2280,13 +2280,14 @@ class WP_Query {
|
||||
$search_orderby .= 'WHEN ' . implode( ' OR ', $q['search_orderby_title'] ) . ' THEN 3 ';
|
||||
}
|
||||
|
||||
// sentence match in 'post_content'
|
||||
// Sentence match in 'post_content' and 'post_excerpt'.
|
||||
if ( $like ) {
|
||||
$search_orderby .= $wpdb->prepare( "WHEN $wpdb->posts.post_content LIKE %s THEN 4 ", $like );
|
||||
$search_orderby .= $wpdb->prepare( "WHEN $wpdb->posts.post_excerpt LIKE %s THEN 4 ", $like );
|
||||
$search_orderby .= $wpdb->prepare( "WHEN $wpdb->posts.post_content LIKE %s THEN 5 ", $like );
|
||||
}
|
||||
|
||||
if ( $search_orderby ) {
|
||||
$search_orderby = '(CASE ' . $search_orderby . 'ELSE 5 END)';
|
||||
$search_orderby = '(CASE ' . $search_orderby . 'ELSE 6 END)';
|
||||
}
|
||||
} else {
|
||||
// single word or sentence search
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '4.5-alpha-36646';
|
||||
$wp_version = '4.5-alpha-36647';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
Loading…
Reference in New Issue
Block a user