Как вывести усеченный результат поиска в отрывок - PullRequest
0 голосов
/ 05 мая 2020

Страница поиска возвращает the_title и the_excerpt как часть результатов поиска. Однако я хочу сделать поиск более значимым, добавив найденные поисковые запросы в отрывок, чтобы пользователь знал, что он найдет, когда откроет ссылку. Я пробовал бесчисленное количество раз, но мой код продолжает давать сбой. Я застрял. Вот код, который у меня есть, но он доходит до выделения условий поиска, которые находятся в первом предложении. Это означает, что если результат сопоставления находится глубоко в содержании, он не отображается. Как получить результаты сопоставления и добавить 50 символов до и после совпадений?

Вот что я пробовал.

function wps_highlight_results($text){
     if(is_search()){
     $sr = get_query_var('s');
     $text = preg_replace(preg_quote("/$sr/iu"),'<strong class="search-excerpt">'.$sr.'</strong>',$text);     }
     return $text;



$s = get_the_content();
  $result = array_shift(explode(get_query_var('s'), $s));
  echo $result;

}
add_filter('the_excerpt', 'wps_highlight_results');



add_action('pre_get_posts', 'search_exact_by_phrase', 1);
function search_exact_by_phrase($query){

    if(!is_admin() && $query->is_main_query() && $query->is_search) :
        $query->set('sentence', true);
    endif;

}

Пожалуйста, помогите. Спасибо.

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