Jak uzyskać datę dla każdego postu?

10

Korzystam z następujących informacji, aby uzyskać datę każdego posta:

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

Jednak dostaję datę pierwszego postu, dlaczego tak jest?

użytkownik1692333
źródło

Odpowiedzi:

21

Wpadłem kilka razy na ten sam problem, w przeszłości działały na mnie następujące zmiany:

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>

Zamiast tego the_date()użyj get_the_date().
Jedyną rzeczą, o której należy pamiętać, jest to, że zwracane wartości get_the_date()muszą zostać powtórzone.

Na stronie Kodeksu znajduje się specjalna uwaga na ten temat the_date().

Gdy na stronie opublikowanej w TYM SAMYM DNIU jest wiele postów, the_date () wyświetla tylko datę pierwszego postu (czyli pierwszego wystąpienia the_date ()). Aby powtórzyć datę postów opublikowanych tego samego dnia, należy użyć tagu szablonu the_time () lub get_the_date () (od 3.0) z ciągiem formatu specyficznym dla daty.

Ponadto, jeśli chcesz kontrolować format, który get_the_date()jest zwracany w Administratorze, możesz użyć get_option('date_format'). W ten sposób, jeśli zmienisz format daty w Administratorze, zmiany te zostaną również wprowadzone w twoim kodzie.

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>
Mike Madern
źródło
0

Gdy na stronie opublikowanej w TYM SAMYM DNIU jest wiele postów , the_date () wyświetla tylko datę pierwszego postu (czyli pierwszego wystąpienia the_date ()) . Aby powtórzyć datę postów opublikowanych tego samego dnia, należy użyć tagu szablonu the_time () lub get_the_date () (od 3.0) z ciągiem formatu specyficznym dla daty . Użyj, aby dodać datę ustawioną w interfejsie administratora.

Aby uzyskać więcej informacji odwiedź tę stronę .

Zgodnie z odniesieniem do kodeksu wordpress poprawny kod będzie wyglądał następująco:

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>
Vinod Dalvi
źródło