In questo tutorial condivideremo come aggiungere una semplice funzione alla tua pagina di ricerca che visualizzerà il termine di ricerca e il numero di risultati. Questa funzionalità è stata una richiesta speciale da parte di uno dei nostri utenti via email. Se desideri che trattiamo un argomento, non esitare a fare un suggerimento.

Apri il tuo file search.php nel tuo tema e aggiungi il seguente codice:
<h2 class="pagetitle">Search Result for <?php /* Search Count */ $allsearch = new WP_Query("s=$s&showposts=-1"); $key = wp_specialchars($s, 1); $count = $allsearch->post_count; _e(''); _e('<span class="search-terms">'); echo $key; _e('</span>'); _e(' — '); echo $count . ' '; _e('articles'); wp_reset_query(); ?></h2>
Il codice sopra visualizzerà qualcosa di simile a questo:
Risultato della ricerca per twitter — 15 articoli
Puoi anche evidenziare il termine di ricerca aggiungendo la classe CSS .search-terms al foglio di stile del tuo tema. Ecco un semplice CSS per iniziare:
.search-terms {
background-color:yellow;
color:blue;
}
Questa è solo una delle cose interessanti che puoi fare per la tua Pagina di Ricerca personalizzandola. Puoi anche evidenziare i termini di ricerca nei risultati, e persino aggiungere una funzionalità di ricerca per categoria alla tua ricerca di WordPress.
Fonte: Michael Martin

Aniruddh
Posso usare questo codice nel file sidebar.php? Poiché ho bisogno di mostrare il termine di ricerca e il conteggio dei risultati nella barra laterale. Per favore, aiutami.
Marco
thanks a lot for this snippet!
secondo il codex di wp la funzione wp_specialchars è deprecata. dice che dovresti usare esc_html invece.
saluti,
marco
Marco
La prossima volta darò un'occhiata più attenta ai commenti. CHADHAYTON ha già pubblicato un link su come puoi gestirlo ora.
Henry
echo $wp_query->found_posts;
Aggiungendo questo all'inizio della tua pagina di ricerca verranno visualizzati il numero di post trovati per una particolare ricerca.
echo get_search_query();
Questo visualizzerà il termine di ricerca (inserito nella casella di ricerca dal visitatore del tuo sito).
timer_stop(1);
Questo visualizzerà il tempo impiegato per eseguire la ricerca.
Tutto insieme potresti ottenere un output simile a:
La tua ricerca per "chicchi di caffè" ha restituito "16" post in "0.87" secondi.
jameslhf
Thank you Henry, that helped me!
Prasanna
Grazie Henry. Mi è stato di grande aiuto.
chadhayton
È difficile dire quanto sia vecchio questo post, ma WordPress 3.1 include un modo per ottenere il numero totale di risultati di ricerca che non richiede una query separata:
http://codex.wordpress.org/Creating_a_Search_Page#Display_Total_Results
Chris Murphy
Wow. È molto più semplice di così contare i risultati di ricerca di WordPress, qui:
global $wp_query; $count = sizeof( $wp_query->posts ); echo"<pre>"; //var_dump($wp_query);// The WP Query Object var_dump($wp_query->posts); // The WP Query Object's 'posts' property (note the plural) echo"</pre>";Se inserisci questo snippet nel tuo template di ricerca, visualizzerà le proprietà della variabile '$wp_query', in particolare la proprietà 'posts' dell'oggetto. Questo è un array che memorizza una raccolta dei post restituiti dalla query di ricerca, con cui puoi fare diverse cose una volta che vi accedi, incluso (*rullo di tamburi*), *contare* il numero di post in quell'array usando la funzione PHP 'count()' o 'sizeof()'.
Staff editoriale
Il tuo codice è un po' tagliato. C'è un modo per inviarci lo snippet via email e possiamo provarlo e scriverci sopra. Ovviamente ti verrà dato il pieno credito.
Amministratore
Ilya
Chris,
Questo non funzionerà. Il punto è scoprire il numero totale di risultati che corrispondono alla query, non il numero attualmente recuperato. Se ci sono più risultati di quanti ne "stiano" in una pagina, il tuo codice otterrà solo il numero di elementi in una pagina.
pete
I risultati di ricerca sono una cosa personale per un utente, quindi è bene che gli vengano fornite molte informazioni.
basilakis
So the code is right or not?
I see Konstantin has some point about the query, but the comments “ate” the results!
Staff editoriale
Questo codice è corretto. Funziona, l'unico problema che sta segnalando è che può essere fatto anche in modo diverso. Abbiamo utilizzato questo codice sul sito web di un cliente e funziona.
Amministratore
Konstantin
Buona idea. Cattiva esecuzione.
Perché al mondo vorresti tradurre un tag span???
E il mio preferito:
_e('');Huh??Perché vorresti interrogare la stessa ricerca due volte?
Non ha alcun senso.
Ma non voglio odiare, ecco come dovrebbe essere fatto (secondo la mia umile opinione):
post_count); ?>
Tom
Non penso abbastanza alla ricerca on-page. Qualcosa del genere è fantastico perché rende la pagina più personalizzata.