Visualizzare gli ultimi articoli della stessa categoria
Una funzione interessante da poter implementare nel proprio blog è quella di far visualizzare gli ultimi articoli della stessa categoria quando si visualizza un post singolo. È un modo per poter servire meglio il lettore e suggerirgli qualcos’altro a cui può essere interessato relativamente ad uno specifico argomento.
Il codice base da personalizzare è il seguente:
<?php if (is_single()) { ?>
<div class="mio-contenitore">
<h2>Ultimi 5 articoli in <?php the_category(' '); ?> </h2>
<?php
$category = get_the_category();
$cat = $category[0]->cat_ID;
$myposts = get_posts("posts_per_page=5&category=$cat");
?>
<ul>
<?php foreach($myposts as $post) : ?>
<li>
<a href="<?php the_permalink(); ?>" title="Vai all'articolo <?php echo get_the_title(); ?>">
<?php the_title(); ?>
</a>
</li>
<?php endforeach; ?>
</ul>
</div>
<?php } ?>
Questo codice, il cui posto ideale è in cima alla sidebar, viene eseguito solo se ci si trova in un articolo singolo, e non su una pagina statica (<?php if (is_single()) { ?>
). Tutto il blocco viene inserito all’interno di un DIV di nome mio-contenitore
, che ovviamente va personalizzato con uno stile già pronto. A seguire mostro le possibilità di personalizzazione, che vanno eseguite tutte sulla riga 9 di questo blocco di codice.
Cambiare il numero di post visualizzati
Se si desidera cambiare il numero di post visualizzati, va sostituito il valore 5
della riga 9 (così come anche il titolo della riga 3).
Visualizzare un elenco casuale di post
Se si preferisce visualizzare un elenco di post casuali, basta aggiungere alla fine della riga 9 &orderby=rand
, vale a dire:
$myposts = get_posts("posts_per_page=5&category=$cat&orderby=rand");
Escludere dall’elenco il post più recente
Un’utile opzione potrebbe essere quella di escludere dall’elenco il post più recente. Basta aggiungere alla fine della riga 9 l’argomento &offset=1
, che appunto sposta l’elenco di un post. Ecco la riga:
$myposts = get_posts("posts_per_page=5&category=$cat&offset=1");
Escludere dall’elenco il post che si sta visualizzando
Ma molto più utile, credo, sia escludere proprio il post che si sta visualizzando in questo momento. È sufficiente aggiungere l’opzione &exclude=$post->ID
:
$myposts = get_posts("posts_per_page=5&category=$cat&exclude=$post->ID");