X

Destaque as palavras-chave nos resultados de pesquisa em the_excerpt e the_title

Snippets by IsItWP

O destaque das palavras-chave nos resultados de pesquisa no título e no trecho do post permitirá que os usuários saibam o que encontrarão no artigo.

Instruções: Adicione o seguinte código ao functions.php de seu tema do WordPress.

function wps_highlight_results($text){
     if(is_search()){
     $sr = get_query_var('s');
     $keys = explode(" ",$sr);
     $text = preg_replace('/('.implode('|', $keys) .')/iu', '<strong class="search-excerpt">'.$sr.'</strong>', $text);
     }
     return $text;
}
add_filter('the_excerpt', 'wps_highlight_results');
add_filter('the_title', 'wps_highlight_results');

Você também pode gostar de substituir palavras-chave em the_content e the_excerpt.

Comentários   Deixe uma resposta

  1. hi, hope this finds you weel, thanks for the coding!

    i’m a portuguese speaker and i need the search to match the accents as weel(:

    for ex: if i search ‘mae’, it doesn’t hightlight the result, as in the text it shows ‘mãe’.

    how can i surpass this accent issua,please?

    thanks,
    kind regards

  2. Found issue with this function, if you search for a term that is exactly the same as a navigation menu item it messes the navigation, duplicates the key words inside the menu item along with couple of other issues.

    Any way of getting around this?
    Thank you
    Sibbo

    1. It may be conflicting with the theme. You may have to edit how the style is applied.

  3. it works like a charm. thank you

    1. Good to know!

  4. johannes khampepe dezembro 29, 2016 em 1:07 pm

    it works a magic…. muito obrigado.

  5. it messes up links that contain the search terms

  6. i have a function that limit my excerpt , how can i do that with it ?

  7. Thank you very much for this snippet. I have found a small issue with it though — it de-capitalizes the search term in the search results.

    For example, if I have a post titled “Include password protected posts” and then search for “include”, the title of my post in the search results will be displayed as “include password protected posts”.

    Any idea how this could be fixed?

    1. Harry William Love abril 2, 2013 em 3:24 pm

      Change the replacement string from

      ''.$sr.''

      to

      '$1'

      1. Peter Onyegbule julho 7, 2020 em 9:50 am

        Hi,

        I’m not fully deep into PHP coding so when I replaced the strings, I got errors.

        My site almost went down.

        1. You may want to check out this page: https://www.isitwp.com/properly-add-code-snippets-wordpress-site/

          Did you see any error messages? If so, what were the messages?

Adicionar um comentário

Ficamos felizes por você ter optado por deixar um comentário. Lembre-se de que todos os comentários são moderados de acordo com nossa política de privacidade, e todos os links são nofollow. NÃO use palavras-chave no campo do nome. Vamos ter uma conversa pessoal e significativa.

WordPress Launch Checklist

A lista de verificação definitiva para o lançamento do WordPress

Compilamos todos os itens essenciais da lista de verificação para o lançamento de seu próximo site WordPress em um ebook prático.
Sim, envie-me o livro eletrônico gratuito grátis!