WordPress: localizzare le date dei feed remoti in italiano

Stamani Andrea mi ha inviato un'e-mail chiedendomi assistenza su una pagina in WordPress che visualizzava il contenuto di un feed remoto utilizzando la funzione di WordPress fetch_feed(). Il template di pagina scritto da Andrea era semplicemente perfetto. L'unico problema è che le date delle voci RSS erano visualizzate in inglese. Questo è normale se si pensa che i contenuti di un feed remoto non vengono gestiti come i post di WordPress. Ecco come risolvere il problema.

Usiamo la funzione PHP setlocale() all'inizio del template, ancor prima della chiamata alla funzione get_header():


<?php
setlocale(LC_TIME, 'it_IT'); 
/*

Template Name: Nome Template

*/
?>

Quindi estraiamo la stringa della data dalla voce del feed, la convertiamo in un timestamp Unix e la passiamo alla funzione strftime():


<?php
$date = $item->get_date();
$ts = strtotime($date);
?>
			
<p class="date"><?php echo strftime('%A %e %B %Y', $ts);?></p>

Cos'è successo? setlocale() ha istruito l'interprete PHP a localizzare i formati delle date in italiano (LC_TIME impostato su it_IT). È importante ricordare che questa funzione deve essere sempre chiamata all'inizio dello script o della pagina su cui si opera.

Torna su