Questo è un post tecnico di 12 anni fa. Le istruzioni potrebbero non essere più valide.
Nel 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')) { }
Molto utile! Terrò in considerazione quest’articolo per il futuro!