WordPress: come aumentare il numero di risultati della ricerca

Tramite $query_string è possibile personalizzare a piacere il numero dei risultati della ricerca. Ecco delle applicazioni pratiche diverse dal solito.

Su WordPress c’è un parametro che decide per ogni pagina il numero di post da mostrare. All’interno del pannello di controllo, sotto Impostazioni – Lettura, esiste infatti la voce “Le pagine del blog visualizzano al massimo:” , che solitamente viene utilizzata per controllare il numero di post in homepage.

Questo parametro però non controlla solo il numero di post della home, ma limita anche il numero dei risultati della ricerca e le pagine corrispondenti al template archive.php (ad esempio la pagina delle categorie e dei tag).

Per modificare il numero di risultati restituiti (in questo caso 10) è sufficiente usare:

<?php query_posts($query_string.'&posts_per_page=10'); ?>

subito prima del loop:

<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>

E’ fondamentale che sia presente il parametro $query_string per mantenere la query originale senza sovrascriverla, altrimenti vi verranno restituiti solo gli ultimi post invece dei risultati della ricerca.

In questo modo è possibile ad esempio avere un numero limitato di post sulla home del blog e 10-20 risultati sulla ricerca.

Altri usi di $query_string

Le query di WordPress possono essere personalizzate in altri modi, anche fuori dal classico loop. Se ad esempio in homepage volessimo mostrare due gruppi di tre post appartenenti esclusivamente a due diverse categorie possiamo scrivere:

<?php $my_query = new WP_Query($query_string.'showposts=3&cat=1&posts_per_page=3'); ?>
<?php while ($my_query->have_posts()) : $my_query->the_post(); ?>

[...]

<?php endwhile; ?>

e

<?php $my_query = new  WP_Query($query_string.'showposts=3&cat=2&posts_per_page=3');  ?>
<?php while ($my_query->have_posts()) : $my_query->the_post();  ?>

[...]

<?php endwhile; ?>

Il parametro cat è fondamentale per indicare quale categoria mostrare (il numero corrisponde all’ID della categoria), mentre showposts e posts_per_page indicano quanti articoli visualizzare, anche nelle pagine successive alla prima.

Non capita tutti i giorni di avere a che fare con query diverse dal solito, soprattutto lavorando a semplici blog, ma in certe situazioni è bene sapere come poter personalizzare WordPress secondo le proprie esigenze. Se siete interessati ad altre personalizzazioni o volete condividere delle scoperte che avete fatto con WordPress lasciate un commento, potremmo approfondire il discorso.

La paginazione è destinata a scomparire?

Aumentano gli esempi di scrolling infinito sulle pagine web: ma la paginazione è ancora una soluzione valida?

La paginazione è da sempre un elemento fondamentale su tutti i siti web e sui blog. Quei numeri che consentono di spostarsi nell’archivio delle notizie più datate sono stati spesso al centro di dibattiti sulla loro effettiva usabilità: sono veramente la soluzione più comoda?

Da qualche tempo questo tipo di paginazione è stata sostituita da una sorta di scrolling infinito su diversi siti importanti: Facebook e la nuova ricerca immagini di Google sono i casi più rilevanti. Ma la soluzione in realtà non è nuova. Già nel 2006 ne avevo parlato su questo sito, citando gli esperimenti degli Humanized Labs.

E’ difficile stabilire se questa sia la soluzione definitiva, ma sicuramente è una possibilità che va presa in considerazione. Tra gli svantaggi principali sono da considerare:

  • l’impossibilità di raggiungere il footer
  • l’impossibilità di linkare la pagina in uno stadio intermedio
  • la memoria richiesta dal browser per gestire pagine di questo tipo

Alcuni problemi possono essere aggirati, ad esempio inserendo un tasto per caricare i nuovi contenuti invece di farlo in automatico, ma questo non elimina tutti i difetti.

Molto dipende sicuramente dal sito: in certi casi non ha senso mostrare 200 pagine, soprattutto nel caso dei risultati di ricerca o di contenuti ordinati per rilevanza. Voi cosa ne pensate? Usereste lo scrolling infinito sul vostro blog?

Se siete interessati a sperimentare, esiste un plugin WordPress che introduce questo tipo di navigazione: pro e contro sono elencati anche dall’autore, valutateli con attenzione e se avrete dei risultati interessanti fatemi sapere!