VeraVostr
@VeraVostr
Markup developer

Как сделать вывод постов Wordpress по дате, указанной в заголовке поста? И как выводить посты с датой в заголовке >= сегодняшней даты?

Добрый день!

Я первый раз натягиваю верстку на Wordpress, поэтому прошу прощения если вопрос слишком уж простой и очевидный:

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

Подскажите, как это реализовать?

Сейчас посты выводятся вот так:

<?php
      $args = array(
      	'numberposts' => 0,
      	'category_name'    => schedule,
      	'orderby'     => 'title',
      	'order'       => 'ASC',
      	'include'     => array(),
      	'exclude'     => array(),
      	'meta_key'    => '',
      	'meta_value'  =>'',
      	'post_type'   => 'post',
      	'suppress_filters' => true,
      );

      $posts = get_posts( $args );

      foreach($posts as $post){ setup_postdata($post);
          ?>
          <div class="col-md-4 col-sm-6">
            <div class="content-wrapper bg-gray schedule-card">
              <div class="day"><span><?php the_field('week_day') ?></span><span><?php the_title() ?></span></div>
              <a class="event" href="<?php the_field('mc_descr_link_1') ?>"><span class="event-time"><?php the_field('time-mc-1') ?></span><span class="event-name"><?php the_field('mc-1') ?></span></a>
              <a class="event" href="<?php the_field('mc_descr_link_2') ?>"><span class="event-time"><?php the_field('time-mc-2') ?></span><span class="event-name"><?php the_field('mc-2') ?></span></a>
              <a class="event" href="<?php the_field('mc_descr_link_3') ?>"><span class="event-time"><?php the_field('time-mc-3') ?></span><span class="event-name"><?php the_field('mc-3') ?></span></a>
            </div>
          </div>
          <?php
      }

      wp_reset_postdata(); // сброс
      ?>


Заранее спасибо!
  • Вопрос задан
  • 1311 просмотров
Пригласить эксперта
Ответы на вопрос 1
san_jorich
@san_jorich
Творческий кодер
Есть много вариантов решения
1. Самый очевидный 'orderby'=> 'post_date', его удобство сомнительно, но работает отлично. Вы показываете все записи в том числе и с прошедшими датами
2. Вы делаете запланированные записи и в запрос пишите 'post_status' => 'future'
3. Вы создаете произвольное поле с датой и в запросе добавляете 'orderby'=>'meta_value' с указанием поля (примеры в интернете есть)
4. Если действительно нужно цеплять дату с титла - пишите функцию, забирающую в массив названия записей, сортирующую их по маске и циклом выводящие содержимое
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы