Davide Gullo, Consulente web

04.02.2012
14:31 (+00:00)
05a settimana
34o giorno

  "E il mare il web concederà ad ogni uomo nuove speranze, come il sonno i sogni..." Cristoforo Colombo

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.

Nessun commento

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=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">
I campi con * sono obbligatori.





TrackBack

TrackBack URI per questo articolo

 

Pinguino imperatore

Aptenodytes forsteri,
descritto 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.
[FSF Associate Member]
Free Software Foundation
Associate Member
Join!
Davide Gullo
   Crea il tuo badge