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.

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");

Segnalare in WordPress un articolo modificato /2

In un blog tecnico è utile segnalare se un articolo è stato modificato dalla sua pubblicazione. Ecco come fare, con un metodo leggermente diverso da quello segnalato in un altro articolo del blog.

wordpress-logoNel post “3 funzioni per WordPress senza l’uso di alcun plugin” avevo scritto come implementare un’utile funzione per segnalare se un articolo era stato modificato dalla sua creazione, funzione utile – credo – in un blog tecnico. Ho riscontrato però una seccatura. Mi capita spesso di modificare lo scritto pochi istanti dopo averlo pubblicato, ad esempio perché dimentico un tag o perché mi accorgo di un errore di battitura. Così, puntualmente, mi spunta in calce al post l’avviso che l’articolo è stato modificato. :-(

Ho quindi ritoccato il codice che vi ho proposto allora, implementando una funzione di periodo di grazia: se il post è stato modificato da più di 10 minuti, allora viene visualizzato il messaggio. :-)

Ecco il codice:

<?php
  if ((get_the_modified_time('U') - get_the_time('U')) > 600) { ?>
    Ultima modifica: <?php the_modified_time('j F Y'); ?> @ <?php the_modified_time('H,i'); ?>
  <?php } ?>

Se 10 minuti sono pochi, modificate il valore 600 con quello che più vi sta a genio (in secondi).

Ma il codice che ho implementato io è un po’ diverso. Nel mio caso lui esegue due controlli. Innanzitutto verifica se il post appartiene a una categoria non tecnica (News, Varie ed FCM) e in questo caso non fa visualizzare mai nessun avviso; se invece appartiene alle altre categorie, verifica da quanto tempo è stato modificato il post: se supera il valore impostato, allora stampa l’avviso di modifica. Ecco le linee:

<?php
if (in_category('1') || in_category('2') || in_category('3')) { }
else {
  if ((get_the_modified_time('U') - get_the_time('U')) > 600) { ?>
    Ultima modifica: <?php the_modified_time('j F Y'); ?> @ <?php the_modified_time('H,i'); ?>
  <?php } ?>
<?php } ?>

Modificate le ID delle categorie e il valore 600 se non vi piace. Se volete inserire il controllo di una sola categoria, scrivete la riga 2 così:

if (in_category('1')) { }

Segnalare un articolo vecchio in modo automatico

Come segnalare in modo automatico che un articolo è stato scritto più di un anno fa. Quattro casi concreti.

php_logoQuando si scrive un blog tecnico, penso sia molto utile far presente ai propri lettori che un articolo di un anno fa potrebbe non essere più adeguato alle mutate condizioni: non esistono più i pacchetti, la distribuzione è stata aggiornata pesantemente e quindi i consigli non sono più attuabili, ecc. Mi sono sempre proposto di pensare a come implementare nel blog una segnalazione automatica di “possibile post obsoleto”, visto che ricevo molte visite in post vecchi e probabilmente non più attuabili. L’esigenza stava però nel segnalare il post come obsoleto solo in quei casi in cui l’articolo era di natura tecnica, escludendo così post come gli auguri, le news, le varie, ecc. La soluzione, poi, non doveva stare in un plugin esterno, ma adattando il codice stesso del tema in uso. Mi sono messo quindi a “studiare” PHP e, pur conoscendone alcune basi intuite nelle mie scorribande fra modifiche di temi pronti e creazione di nuovi, ho imparato tante cose che per me sono interessantissime! Non c’è piacere intellettuale più grande per me! E mi capita spesso di addentrarmi in complesse letture informatiche solo per il gusto e il piacere intellettuale che provo. Ad esempio, in questi giorni sto affrontando anche il linguaggio LaTeX: non che abbia esigenza di usarlo, ma solo appunto per il… piacere di farlo! E ritengo una cosa positiva lo studio di una particolare scienza quando essa è scissa dall’esigenza del momento, perché ciò significa essere liberi nell’apprendere, non essendo spinti da niente che non sia il desiderio di sapere.

Tornando in argomento, oggi ho messo mano a questo desiderio di segnalare i post obsoleti ed ecco cosa ho fatto.
Leggi tutto “Segnalare un articolo vecchio in modo automatico”

3 funzioni per WordPress senza l’uso di alcun plugin

Si può fare molto con WordPress anche senza utilizzare plugin. Tre esempi per visualizzare data e ora dell’ultima modifica, visualizzare citazioni in stile “Hello, Dolly” e redirigere i propri feed su FeedBurner.

WordPress, splendida piattaforma open source orientata al blogging, consente di estenderne le potenzialità installando plugin per uno specifico scopo. Installare un plugin è spesso l’unica soluzione per poter avere una particolare funzione, necessaria nel nostro blog; ma in tanti casi è sufficiente mettere mano al codice del nostro tema per poter implementare la stessa identica funzione senza installare nulla di aggiuntivo (come ho più volte scritto: qui, qui e qui). Ecco 3 esempi.
Leggi tutto “3 funzioni per WordPress senza l’uso di alcun plugin”

Featured posts senza alcun plugin

Non volete che alcuni dei vostri post più interessanti finiscano nel dimenticatoio? Basta installare un plugin che li faccia visualizzare a ruota nella vostra sidebar… oppure che seguiate le indicazioni facili di questo post, usando le enormi possibilità che WordPress vi mette a disposizione.

Se siete interessati a non far finire nel dimenticatoio i vostri post più gloriosi e volete creare una sezione del blog oppure della sidebar con la segnalazione di uno di questi post, potete installare il plugin specifico Random featured post oppure procedere utilizzando gli strumenti che WordPress vi mette a disposizione.

Fino a poco tempo fa utilizzavo, con soddisfazione, il plugin. L’unico limite, se così può dirsi, di quel plugin è che potete far visualizzare solo categorie (e scegliere all’interno di esse quale visualizzare) e non tag. Col tempo, però, e con l’utilizzo di WordPress, le mie esigenze sono cambiate: avevo bisogno di far visualizzare i post di un determinato tag (quello Featured) e non quelli di una categoria.
Leggi tutto “Featured posts senza alcun plugin”