Duplicare o riutilizzare the_date nel loop di Wordpress

Mercoledì, 04 Ottobre 2006

Nel blog di Pierluigi Castagnetti utilizzo questo codice per creare la paginetta del calendario in ogni articolo:

<div class="post_cal">
<?php
$postraw = the_date('D, j, M, y', '', '', FALSE);
$postdate = explode(', ', $postraw);
?>
<div class="dayname"><?php echo $postdate[0]; ?></div>
<div class="daynum"><?php echo $postdate[1]; ?></div>
<div class="month"><?php echo $postdate[2]; ?> '<?php echo $postdate[3]; ?></div>
</div>

Gli stili applicati visualizzano questo:
the_date calendario in wordpress

Il template tag the_date di Wordpress però presenta un inconveniente, nella documentazione infatti si legge:

SPECIAL NOTE: When there are multiple posts on a page published under the SAME DAY, the_date() only displays the date for the first post (that is, the first instance of the_date()). To repeat the date for posts published under the same day, you should use the Template Tag the_time() with a date-specific format string.

Nel caso in cui si abbiano quindi più articoli scritti nello stesso giorno il tag the_date estrae la data solo nel primo articolo e non restituisce nulla nei successivi.
Ho risolto il problema in questo modo:

<div class="post_cal">
<?php
// estraggo data
$postraw = the_date('D, j, M, y', '', '', FALSE);
// controllo se postraw esiste altrimenti prelevo il precedente
if( $postraw == "" )
{
$postraw = $prev_postraw;
} else {
$prev_postraw = $postraw;
}
$postdate = explode(', ', $postraw);
?>
<div class="dayname"><?php echo $postdate[0]; ?></div>
<div class="daynum"><?php echo $postdate[1]; ?></div>
<div class="month"><?php echo $postdate[2]; ?> '<?php echo $postdate[3]; ?></div>
</div>

Salvandomi la variabile nel suddetto modo riesco poi a recuperarla nel ciclo successivo.

 Jazzo@15:57 /   
Categoria: Development
TrackBack   TrackBack URI per questo articolo
Nessun Commento
Commenta questo articolo

 
RSS feed per i commenti di questo articolo
 
Scrivi un commento

Istruzioni e suggerimenti
A capo e la separazione tra i paragrafi sono automatici.
L'indirizzo e-mail non verrà mai mostrato.
Il codice HTML permesso è:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

I campi con * sono obbligatori.







"E il mare il web concederà ad ogni uomo nuove speranze, come il sonno i sogni..." Cristoforo Colombo
Pinguino imperatore
Definito Aptenodytes forsteri
da G. R. Gray nel 1844, mari antartici.

Tux è la mascotte ufficiale del kernel Linux. Creato da Larry Ewing nel 1996, è un pinguino paffuto dall'aria contenta. L'idea che la mascotte di Linux dovesse essere un pinguino venne da Linus Torvalds, il creatore del kernel Linux.

Certificazione PHP Zend Certified Engineer [PHP5 Zend] Certification Authentication PHP Zend Certified Engineer [PHP5 Zend]
[FSF Associate Member]
Free Software Foundation
Associate Member
Join!
Lotta ai Brevetti Software