Segnalare in WordPress un articolo modificato /2

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')) { }

Forzare la trasparenza di un .png in Internet Explorer 6

ie7-logoEro incerto se scrivere questo post. Incerto perché si deve invitare la gente a non usare Internet Explorer 6, invece di utilizzare questi hack per far visualizzare bene il nostro sito anche nelle vecchie versioni del browser di casa Microsoft. Se li utilizziamo è come dire loro: “continuate pure ad usarlo”. Ma può capitare che in un caso particolare sia necessario intervenire per modificare il comportamento di questo browser. A me è capitato e non avevo scelta. Dovevo intervenire e questo è quello che ho provato.

Dovevo usare per forza un’immagine png trasparente e la persona aveva IE6. Di installare Firefox non se ne parlava nemmeno. In sostanza, dovevo forzare Internet Explorer 6 a renderizzare correttamente il canale alpha (la trasparenza) di una immagine .png. Ecco le righe di codice che ho usato:

<div style="
  position: absolute;
  top: 0px;
  left: 0px;
  width: 200px;
  height: 100px;
  display:inline-block;
  filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='http://www.mio-sito.it/percorso/alla/mia/immagine.png');">
  <img style="
  filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);"
  src="http://www.mio-sito.it/percorso/alla/mia/immagine.png"
  width="200" height="100" border="0" alt="" />
</div>

Chiaramente vanno personalizzati alcuni valori come position, width/height e src. Ecco una diapositiva di come viene renderizzato in XP con IE6:

Internet Explorer 6 renderizza correttamente la trasparenza di una immagine PNG dietro applicazione di un hack.

Internet Explorer 6 renderizza correttamente la trasparenza di una immagine PNG dietro applicazione di un hack.

Prima di chiudere una nota positiva. Ho dato un’occhiata alla pagina di Wikipedia in cui si parla di questo browser. Ho trovato una tabella sulla percentuale d’uso di IE ed ecco cosa ho visto:

La percentuale d'uso di Internet Explorer nei vari anni e versioni.

La percentuale d'uso di Internet Explorer nei vari anni e versioni.


Una soddisfazione! Dal 94,43% siamo giunti al 72,65%: ha ancora quasi i 3/4 del mercato, ma sono sicuro che Firefox e i browser open andranno sempre più avanti.

La fonte dell’hack è questa, dove trovate anche degli altri adattamenti del codice.