Cum să obții data pentru fiecare articol?

11 mar. 2013, 13:57:40
Vizualizări: 160K
Voturi: 13

Folosesc următorul cod pentru a obține data fiecărui articol:

while (have_posts()) : the_post();
//cod html
<li class="icon-date"><?php the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_date('H:i:s');?></li>

Totuși, obțin data doar pentru primul articol, de ce se întâmplă asta?

0
Toate răspunsurile la întrebare 2
0
28

Am întâmpinat aceeași problemă de mai multe ori, iar următoarele modificări au funcționat pentru mine în trecut:

while (have_posts()) : the_post();
//unele elemente 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>

În loc de the_date(), folosește get_the_date().
Singurul lucru de care trebuie să ții cont este că valorile returnate de get_the_date() trebuie afișate cu echo.

Dacă te uiți pe pagina Codex, există o notă specială despre the_date().

Când există mai multe articole pe o pagină publicate în ACEEAȘI ZI, the_date() va afișa data doar pentru primul articol (adică prima instanță a the_date()). Pentru a afișa data pentru toate articolele publicate în aceeași zi, ar trebui să folosești funcția șablon the_time() sau get_the_date() (din versiunea 3.0) cu un format specific pentru dată.

De asemenea, dacă dorești să controlezi formatul în care este returnată get_the_date() în Admin, poți folosi get_option('date_format'). Astfel, dacă modifici formatul datei în Admin, aceste modificări vor fi reflectate și în codul tău.

while (have_posts()) : the_post();
//unele elemente 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>
11 mar. 2013 14:03:34
0

Când există mai multe articole pe o pagină publicate în ACEEAȘI ZI, the_date() afișează data doar pentru primul articol (adică prima instanță a the_date()). Pentru a repeta data pentru articolele publicate în aceeași zi, ar trebui să utilizați Eticheta de Șablon the_time() sau get_the_date() (începând cu versiunea 3.0) împreună cu un șir de format specific datei. Utilizați pentru a adăuga data setată în interfața de administrare.

Pentru mai multe informații, vizitați această pagină.

Deci, conform referinței din codex-ul WordPress, codul corect va fi următorul:

while (have_posts()) : the_post();
//unele elemente 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>
11 mar. 2013 14:04:20