Как получить дату для каждого поста?
Я использую следующий код для получения даты каждого поста:
while (have_posts()) : the_post();
//некоторый html
<li class="icon-date"><?php the_date('Y-m-d');?></li>
<li class="icon-time"><?php the_date('H:i:s');?></li>
Однако я получаю дату только для первого поста, почему так происходит?

Я несколько раз сталкивался с этой же проблемой, и следующие изменения помогали мне в прошлом:
while (have_posts()) : the_post();
//некоторый 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>
Вместо the_date()
используйте get_the_date()
.
Единственное, о чем нужно помнить, это то, что значения, возвращаемые get_the_date()
, необходимо выводить с помощью echo.
Если посмотреть на страницу Codex, там есть специальное примечание о the_date()
.
Когда на странице есть несколько записей, опубликованных в ОДИН И ТОТ ЖЕ ДЕНЬ, функция the_date() отображает дату только для первой записи (то есть для первого вызова the_date()). Чтобы повторно выводить дату для записей, опубликованных в тот же день, следует использовать функцию the_time() или get_the_date() (начиная с версии 3.0) с указанием формата даты.
Также, если вы хотите контролировать формат, в котором возвращается get_the_date()
в админке, можно использовать get_option('date_format')
. Таким образом, если вы измените формат даты в админке, эти изменения автоматически применятся и в вашем коде.
while (have_posts()) : the_post();
//некоторый 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>

Когда на странице отображаются несколько записей, опубликованных В ОДИН И ТОТ ЖЕ ДЕНЬ, функция the_date() отображает дату только для первой записи (то есть для первого вызова the_date()). Чтобы повторно выводить дату для записей, опубликованных в тот же день, следует использовать шаблонный тег the_time() или get_the_date() (начиная с версии 3.0) с форматом даты. Используйте , чтобы добавить дату, установленную в интерфейсе администратора.
Для получения дополнительной информации посетите эту страницу.
Согласно справочнику WordPress Codex, правильный код будет выглядеть следующим образом:
while (have_posts()) : the_post();
//некоторый 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>
