Cum să obții data pentru fiecare articol?
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?
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>

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>
