X

Evidenzia le parole chiave nei risultati di ricerca all'interno di _excerpt e _title

Snippet di IsItWP

Evidenziare le parole chiave nei risultati di ricerca all'interno del titolo e dell'estratto dell'articolo farà sapere ai tuoi utenti cosa troveranno nell'articolo.

Istruzioni: Aggiungi il seguente codice al functions.php del tuo tema 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');

Potrebbe interessarti anche sostituire le parole chiave in _content e _excerpt.

Commenti   Lascia una risposta

  1. ciao, spero che questo ti trovi bene, grazie per il codice!

    sono un madrelingua portoghese e ho bisogno che la ricerca corrisponda anche agli accenti :(

    ad esempio: se cerco 'mae', non evidenzia il risultato, poiché nel testo mostra 'mãe'.

    come posso superare questo problema degli accenti, per favore?

    grazie,
    cordiali saluti

  2. Ho riscontrato un problema con questa funzione, se cerchi un termine che è esattamente uguale a una voce del menu di navigazione, rovina la navigazione, duplica le parole chiave all'interno della voce del menu insieme ad altri problemi.

    C'è un modo per aggirare questo problema?
    Grazie
    Sibbo

    1. Potrebbe essere in conflitto con il tema. Potrebbe essere necessario modificare il modo in cui viene applicato lo stile.

  3. funziona alla grande. grazie

    1. Bene a sapersi!

  4. johannes khampepe 29 dicembre 2016 alle 13:07

    funziona magicamente…. muito obrigado.

  5. rovina i link che contengono i termini di ricerca

  6. ho una funzione che limita il mio estratto, come posso fare con questo?

  7. Grazie mille per questo snippet. Ho trovato però un piccolo problema: de-capitalizza il termine di ricerca nei risultati di ricerca.

    Ad esempio, se ho un post intitolato “Include password protected posts” e poi cerco “include”, il titolo del mio post nei risultati di ricerca verrà visualizzato come “include password protected posts”.

    Hai qualche idea su come risolvere questo problema?

    1. Harry William Love 2 aprile 2013 alle 15:24

      Cambia la stringa di sostituzione da

      ''.$sr.''

      a

      '$1'

      1. Peter Onyegbule 7 luglio 2020 alle 09:50

        Ciao,

        Non sono molto esperto di programmazione PHP, quindi quando ho sostituito le stringhe, ho ottenuto degli errori.

        Il mio sito è quasi andato giù.

        1. Potresti voler consultare questa pagina: https://www.isitwp.com/properly-add-code-snippets-wordpress-site/

          Hai visto messaggi di errore? Se sì, quali erano i messaggi?

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!