TheJoe.it Into the (open) source

29gen/142

WordPress: avvisare il lettore che il post è vecchio

clocky

Spesso capita (scrivendo di software e tecnologia) che l'articolo che oggi è attuale, domani sia già superato. Esiste almeno un plugin per WordPress per notificare il lettore che il post che sta leggendo è stato scritto tempo fa, che è una soluzione perfetta e pronta all'uso, ma ho voluto ugualmente tentare di modificare il codice del mio tema per aggiungere questa semplice funzione in modo automatico.

Premetto che i passaggi che seguono creano un riquadro (in questo caso giallo) prima del titolo dell'articolo. L'utente sarà informato subito circa l'aggiornamento dell'articolo, come nello screenshot seguente, preso da un mio vecchio articolo.

banner

C'è da dire anche che con un piccolo accorgimento potremo mostrare l'avviso solo nei post relativi a una determinata categoria. Bene, le premesse sono finite.

Modificare il tema

Per prima cosa occorre modificare i file "single.php" e "style.css" relativi al tema utilizzato. Per fare ciò, all'interno del nostro pannello amministrativo clicchiamo su "Aspetto" - "Editor".

edit_temi

A seconda del tema attivo sul blog dovremo trovare il punto esatto in cui collocare il seguente codice PHP (subito sopra al titolo del post):

<?php
    // date('U')          = data attuale in secondi dal 1 gennaio 1970 (tempo Unix)
    // get_the_time('U')  = data pubblicazione articolo in secondi dal 1 gennaio 1970 (tempo Unix)
    // 31557600           = secondi in un anno (365 giorni e 6 ore)
    if ((date('U') - get_the_time('U')) >= 31557600 && in_category('16')) { ?>
        <div class="avviso">
		<h1 class="title">Attenzione!</h1>
		<p>Questo articolo è stato scritto nel <strong><?php the_time('Y'); ?></strong>, potrebbero esserci stati sviluppi circa l'argomento trattato.<br />
		In caso di dubbi lasciate un commento in fondo all'articolo.<br />
		Grazie.</p>
        </div>
<?php } ?>

Il codice è ben commenato e si spiega da solo. In questo caso il box verrà mostrato se il post è più vecchio di un anno e se si trova nella categoria "16" (che nel mio caso corrisponde alla categoria "software". È anche possibile rimuovere il codice "&& in_category('16')" se vogliamo che l'avviso venga mostrato in tutte le categorie.

Lo stile del CSS è altrettanto semplice, le seguenti righe possono essere aggiunte in una qualsiasi parte del file "style.css":

.avviso{
border-top:3px solid #e6d62e;
border-bottom:3px solid #e6d62e;
background-color:#ebe7be;
padding: 10px 20px 0 10px;
}

Trovare la categoria

Trovare il numero ID relativo alla categoria è altrettanto semplice. Andiamo nel menù "Articoli" - "Categorie".

categorie

Ora passiamo il mouse sulla categoria interessata e prestiamo attenzione al link associato (lo vedremo a fondo pagina).

cat_software

Se stiamo attenti lo leggeremo nel dato relativo alla variabile "&tag_ID=". Nel mio caso "16".

About

Mantengo questo blog a livello amatoriale dal 2009. Sono appassionato di grafica, tecnologia, software Open Source. Fra i miei articoli non sarà difficile trovarne circa la musica, ed alcuni di riflessioni personali, ma preferisco indirizzare la linea del blog principalmente verso la tecnologia. Per informazioni contattami.

  • Thank you, stopsatgreen, for your kind comment.

  • stopsatgreen

    Works a treat. Molte grazie!