[![Как вывести список постов по расписанию 1](https://coma.lv/wp-content/uploads/2025/09/Gemini_Generated_Image_vf04vwvf04vwvf04.webp)](https://coma.lv/wp-content/uploads/2025/09/Gemini_Generated_Image_vf04vwvf04vwvf04.webp)

# Как вывести список постов по расписанию

Sep 14, 2025/by [Vadim Pavlovich](https://coma.lv/ru/author/djcoma/)

Показывание грядущих постов может быть полезным, чтобы заставить людей подписаться на ваш блог. В этом посте мы рассмотрим как это сделать.

#### Что такое посты по расписанию?

Если вы уже какое-то время занимаетесь блоггингом, то наверняка заметили, что публикуя посты в определенное время может помочь заработать больше просмотров. Если вы новенький в ведении блога, то вам следует начать с анализа посещаемости (например, Google Analytics / GA4), чтобы понять, когда ваша аудитория наиболее активна.

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

Важно понимать: по умолчанию WordPress **не показывает посетителям посты в статусе Scheduled (запланированные)**. Они автоматически станут видимыми в блоге только в назначенное время. Но если вы хотите вывести **список будущих записей** (например, раздел «Скоро выйдет»), это можно сделать с помощью плагина или собственного кода. В этой статье мы рассмотрим оба варианта.

#### Способ первый: отображение грядущих постов при помощи плагина

Установите и активируйте плагин [**Display Posts**](https://wordpress.org/plugins/display-posts-shortcode/). Он добавляет универсальный шорткод, который позволяет выводить записи по любым параметрам, включая статус future. Вставьте в запись, страницу или блок Shortcode следующий код:

[display-posts post_status="future" order="ASC" posts_per_page="5"]

Этот шорткод выведет до 5 запланированных постов в порядке возрастания даты публикации. (Параметр posts_per_page="5" определяет количество выводимых постов. Вы можете заменить 5 на любое другое число, чтобы показывать нужное количество запланированных записей).

Список можно разместить в сайдбаре через блок «Shortcode» или «Custom HTML», а также вставить прямо в текст страницы или записи.

**Проблема со ссылками**

По умолчанию Display Posts создаёт ссылки на заголовки постов. Для авторизованных пользователей (админ, редактор, автор) они работают и ведут на превью поста, а для незалогиненных пользователей ссылки ведут на 404, так как пост ещё не опубликован.

**Решение с CSS**

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

.logged-out .display-posts-list a { pointer-events: none; cursor: default; text-decoration: none; color: inherit; }

Для незалогиненных пользователей ссылки внутри .display-posts-list становятся некликабельными благодаря классу .logged-out, в то время как авторизованные пользователи видят рабочие ссылки. Таким образом вы можете безопасно показывать список будущих постов на сайте без риска, что посетители попадут на 404 страницы.

#### Способ второй: показываем запланированные посты вручную

Если вы предпочитаете лёгкий кастомный код без плагинов, добавьте следующий код в файл functions.php вашей дочерней темы или создайте небольшой собственный плагин-сниппет.

// Add this code to your child theme's functions.php or a small custom plugin function wpb_upcoming_posts() { // Query for future posts $the_query = new WP_Query( array( 'post_status' => 'future', // Only get scheduled posts 'posts_per_page' => 3, // Limit number of posts displayed 'orderby' => 'date', // Order by post date 'order' => 'ASC', // Earliest posts first ) ); // Initialize output variable $output = ''; // Check if there are future posts if ( $the_query->have_posts() ) { $output .= '<ul class="upcoming-posts">'; while ( $the_query->have_posts() ) { $the_query->the_post(); // Escape title and date for security $title = esc_html( get_the_title() ); $date = esc_html( get_the_date( get_option( 'date_format' ) ) ); // If user is logged in, show link; otherwise show only title and date if ( is_user_logged_in() ) { $permalink = esc_url( get_permalink() ); $output .= "<li><a href=\"{$permalink}\">{$title}</a> ({$date})</li>"; } else { $output .= "<li>{$title} ({$date})</li>"; } } $output .= '</ul>'; } else { // Message if no scheduled posts are found $output .= '<p>No upcoming posts yet.</p>'; } // Reset post data after query wp_reset_postdata(); // Return the HTML output return $output; } // Register shortcode [upcoming_posts] add_shortcode( 'upcoming_posts', 'wpb_upcoming_posts' ); // Enable shortcode execution in text widgets add_filter( 'widget_text', 'do_shortcode' );

Теперь зайдите в **Appearance – Widgets**(или в редактор блоков) , добавьте блок «Shortcode» или «Custom HTML» в сайдбар и вставьте этот шорткод:

[upcoming_posts]

![WordPress](https://coma.lv/wp-content/uploads/2016/11/upcomingposts_shortcode.jpg)

Нажмите на кнопку сохранения и зайдите на сайт, чтобы увидеть список запланированных постов в сайдбаре. Вы также можете добавлять этот шорткод к себе в пост, на страницу или в шаблон.

---

*Наша специальность — разработка и поддержка сайтов на WordPress. Контакты для бесплатной консультации — [vadim@coma.lv](mailto:vadim@coma.lv), [+371 29394520](tel:+37129394520)*

---
