Как узнать дату каждого поста?

10

Я использую следующее, чтобы получить дату каждого сообщения:

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>

Тем не менее, я только получаю дату для первого сообщения, почему это так?

user1692333
источник

Ответы:

21

Я сталкивался с одной и той же проблемой несколько раз, в прошлом у меня работали следующие изменения:

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>

Вместо того the_date(), чтобы использовать get_the_date().
Единственное, о чем нужно знать, это то, что возвращаемые значения get_the_date()должны отображаться.

Глядя на страницу Кодекса, есть специальная заметка о the_date().

Если на странице, опубликованной в течение ЖЕ ДНЯ, есть несколько постов, the_date () отображает только дату первого поста (то есть первого экземпляра the_date ()). Чтобы повторить дату для публикаций, опубликованных в тот же день, вы должны использовать тег шаблона the_time () или get_the_date () (начиная с версии 3.0) со строкой формата даты.

Также, если вы хотите контролировать формат, get_the_date()который возвращается в Admin, вы можете использовать get_option('date_format'). Таким образом, если вы измените формат даты в Admin, эти изменения будут внесены и в ваш код.

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>
Майк Мадерн
источник
0

Если на странице, опубликованной в течение ЖЕ ДНЯ, есть несколько сообщений , the_date () отображает только дату первого сообщения (то есть первого экземпляра the_date ()) . Чтобы повторить дату для публикаций, опубликованных в тот же день, вы должны использовать тег шаблона the_time () или get_the_date () (начиная с версии 3.0) со строкой формата даты . Используйте для добавления даты, установленной в интерфейсе администратора.

Для получения дополнительной информации посетите эту страницу .

Таким образом, в соответствии со ссылкой на WordPress Codex правильный код будет следующим:

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>
Винод Далви
источник