Esistono numerosi Plugin per WordPress che permettono di migliorare le caratteristiche e le prestazioni della funzione “cerca”. Quasi tutti i Plugin disponibili hanno l’utile e gradevole caratteristica di evidenziare le parole cercate nel risultato delle ricerca. Se non avete intenzione di appensantire ulteriormente la vostra installazione WordPress ma non volete rinunciare del tutto ad una funzionalità simile, ecco come implementare facilmente un “evidenzia” dei termii di ricerca nei risultati.
Aprite il file search.php e inserire il seguente codice all’interno del loop centrale o, se utilizzate un tema standard, cercate il div class="entry". In pratica andiamo a modificare l’emissione del risultato dopo una ricerca:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <div class="entry"> <?php // Nella variabile $s c'è la stringa di ricerca // ad esempio: parolaA parolaB $keys = explode(" ",$s); // Prelevo il riassunto, non il testo intero $excerpt = get_the_excerpt(); // avvolgo nel riassunto le parole cercate // con <strong class="evidenzia">parolaA</strong> $excerpt = preg_replace('/(' . implode('|', $keys) . ')/iu', '<strong class="evidenzia">\0</strong>', $excerpt); // Mostro il riassunto alterato echo apply_filters("the_excerpt", $excerpt) ; ?> <p class="right more"><a href="<?php the_permalink() ?>">Leggi tutto</a></p> </div> |
Tutte le parole inserite nel campo di ricerca saranno evidenziate (la classe CSS evidenzia potete definirla a piacere, ad esempio con un background giallino simile ad un evidenziatore… o quello che volete) nel risultato se presenti nel riassunto. Questa procedura, infatti, ha il limite di agire solo sulla prima parte del nostro post (excerpt) e non su tutto il suo contenuto. Tuttavia è una buona alternativa all’installazione di un ulteriore plugin.








11
[...] approfondire consulta la fonte: Undolog.com» Very short trick: WordPress, evidenziare i risultati … Articoli correlati: Undolog.com» Very short trick: WordPress, escludere pagine e post [...]
[...] Very short trick: WordPress, evidenziare i risultati di una ricerca Un piccolo trucco per rendere più visibili le parole chiave cercate sul nostro blog, nei risultati di ricerca. [...]
Davvero molto interessante, grazie.
Guardando il tuo blog vedo che è veramente ben fatto, ti inserisco tra i siti da visitare del mio
Ciao e complimenti
[...] @Blogging@ Very short trick: WordPress, evidenziare i risultati di una ricerca [...]
@YesWEBcan:
thank to cool post
Bohh..in search.php non trovo data entry..mi puoi indicare dove inserisco questo codice?
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div id="content">
<div class="post">
<div class="title">
<h2>Rezultatele cautarii</h2>
</div>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="post-content" id="post-<?php the_ID(); ?>">
<h3><a href="<?php the_permalink() ? rel="nofollow">" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h3>
<?php the_excerpt(); ?>
</div>
<?php endwhile; ?>
<div class="navigation">
<span class="previous-entries"><?php next_posts_link('Previous Entries') ?></span> <span class="next-entries"><?php previous_posts_link('Next Entries') ?></span>
</div>
<?php else : ?>
<h3>Ne pare rau nu am gasit nimic.Va rugam incercati din nou.</h3>
<?php endif; ?>
</div><!--/content -->
</div><!--/content -->
<?php get_sidebar(); ?>
<?php get_footer(); ?>
@Sp0nky: non ho capito la domanda…
Caro mio Giovambattista, in tuo articolo scrive apri il search.php e puoi inserirsci il seguente codice all’interno …..
Come vedi in mio
search.php, non hodiv class="entry", per non sbagliare ho chiesto dove inserisco il codice postato di te?@Sp0nky: Ok, in pratica lo devi inserire alla riga 14 posto di:
Questo perchè – come scritto nel post – tu non stai utilizzando il tema standard. Ogni tema, infatti, può all’occasione alterare parte dell’HTML standard di WordPress, anche se molti temi mantengono la nomenclatura
entry.grazie mille amico.Hai tante cose interesante qui in sito.Li devo cercare e mettere in practica.A presto.
ciao e grazie per questo bel articolo!!^^
ho un problema:
vorrei che nei risultati di ricerca ci sia sia the_excerpt(); e sia the_content();.
in questo modo:
the_content();
the_excerpt();
Grazie mille^^
PS: c’è qualche codice per migliorare la ricerca??