Результат поиска Wordpress, чтобы соответствовать точное слово - PullRequest
0 голосов
/ 09 марта 2019

Я пытаюсь получить в результатах поиска 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 голосов
/ 09 марта 2019

Вы можете попробовать этот ниже код. Этот код ищет ваше слово только в содержимом сообщения. после использования этого кода поисковая доза не выполняется для заголовка сообщения.

//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);

Попробуйте приведенный выше код и дайте мне знать результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...