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.