Come ottenere la data per ogni post?
Sto usando il seguente codice per ottenere la data di ogni post:
while (have_posts()) : the_post();
//del codice html
<li class="icon-date"><?php the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_date('H:i:s');?></li>
Tuttavia, ottengo la data solo per il primo post, come mai?
Mi sono imbattuto nello stesso problema diverse volte, queste modifiche hanno funzionato per me in passato:
while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php echo get_the_date( 'Y-m-d' ); ?></li>
<li class="icon-time"><?php the_time( 'H:i:s' ); ?></li>
Invece di the_date()
, usa get_the_date()
.
L'unica cosa da tenere a mente è che i valori restituiti da get_the_date()
devono essere visualizzati con echo.
Guardando la pagina del Codex c'è una nota speciale riguardo the_date()
.
Quando ci sono più articoli in una pagina pubblicati nello STESSO GIORNO, the_date() mostra la data solo per il primo articolo (cioè la prima istanza di the_date()). Per ripetere la data per gli articoli pubblicati nello stesso giorno, dovresti usare il Tag Template the_time() o get_the_date() (dalla versione 3.0) con una stringa di formato specifica per la data.
Inoltre, se vuoi controllare il formato in cui get_the_date()
viene restituito nell'Admin, puoi usare get_option('date_format')
. In questo modo, se cambi il formato della data nell'Admin, queste modifiche verranno applicate anche nel tuo codice.
while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php echo get_the_date( get_option('date_format') ); ?></li>
<li class="icon-time"><?php the_time( 'H:i:s' ); ?></li>

Quando ci sono più articoli in una pagina pubblicati nello STESSO GIORNO, the_date() mostra la data solo per il primo articolo (ovvero la prima istanza di the_date()). Per ripetere la data per gli articoli pubblicati nello stesso giorno, dovresti usare il Template Tag the_time() o get_the_date() (dalla versione 3.0) con una stringa di formato specifica per la data. Usa per aggiungere la data impostata nell'interfaccia di amministrazione.
Per maggiori informazioni visita questa pagina.
Quindi, secondo il riferimento del codex di WordPress, il codice corretto sarà il seguente:
while (have_posts()) : the_post();
//some html
<li class="icon-date"><?php echo get_the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_time('H:i:s');?></li>
