WordPress搜索结果以匹配确切的单词

时间:2019-03-09 07:41:21

标签: wordpress

我正在尝试获取Wordpress搜索结果,以将确切的搜索关键字与帖子中的单词匹配。

我已经尝试了以下链接中的解决方案,但搜索结果仍会返回标题与单词与搜索关键字部分匹配的帖子:

https://wordpress.stackexchange.com/questions/177183/make-a-wp-query-search-match-exactly-the-search-term/17786

例如,搜索键为thank,我希望结果为Thank you so much之类,而不包含Thanking is important

1 个答案:

答案 0 :(得分:0)

您可以尝试下面的代码。 该代码仅在帖子内容中搜索您的单词。使用该代码后,搜索透明度不会在帖子标题上执行。

//searh contenet only
function _search_by_content_only( $search, $wp_query )
{
    global $wpdb;
    if(empty($search)) {
        return $search; // skip processing - no search term in query
    }
    $q = $wp_query->query_vars;
    $search =
    $searchand = '';
    foreach ((array)$q['search_terms'] as $term) {
        $term = esc_sql($wpdb->esc_like($term));
        $search .= "{$searchand}($wpdb->posts.post_content regexp '[[:<:]]".$term."[[:>:]]')";
        $searchand = ' AND ';
    }
    if (!empty($search)) {
        $search = " AND ({$search}) ";
        if (!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = '') ";
    }
    return $search;
}
add_filter('posts_search', '_search_by_content_only', 500, 2);

尝试上面的代码,让我知道结果。