Flector

Как вывести записи с определенной датой публикации?

Вывод записей за сегодня

Иногда возникает необходимость вывести записи с определенной датой публикации. Например, вывести записи (или только заголовки-ссылки на них) с сегодняшней или вчерашней датой публикации. Сделать это можно с помощью своего собственного цикла вывода записей, который вы должны вставить в нужный шаблон вашей темы:

<?php 
$date = getdate();
$todayposts = new WP_Query('showposts=5' . '&year=' .$date["year"] 
.'&monthnum=' .$date["mon"] .'&day=' .$date["mday"]); ?>  
<p>Записи за сегодня (<?php echo date('d.m.Y'); ?>): </p>
<ul>
<?php while($todayposts->have_posts()) : $todayposts->the_post(); ?>    
<li><a href='<?php the_permalink(); ?>'><?php the_title(); ?></a></li>
<?php endwhile; ?> 
</ul>
<?php wp_reset_query(); ?>

Этот код выведет список заголовков записей за сегодня. При желании можно вывести записи за другую дату, например за вчера. Для этого надо использовать такой код:

<?php 
$date = getdate();
$date["mday"] = $date["mday"] - 1;
$yesterdayposts = new WP_Query('showposts=5' . '&year=' .$date["year"] 
.'&monthnum=' .$date["mon"] .'&day=' .$date["mday"]); ?>  
<p>Записи за вчера (<?php echo date("d.m.Y", time()-(60*60*24));  ?>): </p>
<ul>
<?php while($yesterdayposts->have_posts()) : $yesterdayposts->the_post(); ?>
<li><a href='<?php the_permalink(); ?>'><?php the_title(); ?></a></li>
<?php endwhile; ?> 
</ul>
<?php wp_reset_query(); ?>

При желании код модернизируется под любую нужную дату (можно вывести записи за определенную неделю, месяц, год и т.д.).


Комментарии (12 комментариев)
  1. Прикольный код, для выборочного поиска удобно, только если нужно управлять выдачей, то неудобно постоянно код править. Наверно плагины есть такие? подскажете?

  2. Здравствуйте, уважаемый Flector!

    Подскажите, пожалуйста, а можно ли наоборот, удалить со страницы информацию о дате, а также о количестве комментариев?

    К примеру, есть страница вида

    http://www.site.ru/services/page_name

    Можно ли присвоить какой-то признак и удалять строки с датой и количеством комментариев для всех страниц, в URL которых после названия сайта идет services? И если можно, то как это сделать?

    Заранее спасибо!

    С уважением,
    Сергей

    • Flector:

      services это таксономия?
      впрочем, не важно - все равно в коде темы можно найти, где выводятся дата с комментами и банально вставить там проверку на эту таксономию.

  3. Flector, я не знаю, как корректно вставить код сюда. Подскажите, пожалуйста, как это сделать правильно.

    По поводу таксономии. В шаблоне по умолчанию есть раздел (рубрика) Services. Все записи, которые там появляются, отображаются с использованием в URL наименования services. Так, как я указал в первом сообщении.

    • Flector:

      да не похоже, что это рубрика. рубрики только в "записях" есть - в других местах таксономии. ну попробуйте так:

      <?php if( has_term( '', 'Services' ) ) { ?>
          // а тут весь код с postmeta
      <?php } ?>
      • Flector, можете ли Вы подсказать, куда этот код вставить? После какой строки?

        • Flector:

          у вас там див с именем postmeta - вот его и нужно засунуть внутрь этого кода. как сказать точнее я не знаю, перепечатывать код с картинки желания нет.

  4. Flector, благодарю Вас, сейчас попробую.

  5. Уважаемый Flector, все получилось! Вы просто молодец! Большое Вам человеческое спасибо!

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!