Як отримати дату для кожної публікації?


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>

Однак я отримую тільки дату для першого повідомлення, чому це так?

Відповіді:


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()повинні відповідати.

Переглядаючи сторінку 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();
//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>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.