Краткое описание WordPress и его структуры контента
WordPress оперирует двумя основными типами контента: записями (posts) и страницами (pages). Записи обычно используются для динамического контента, такого как новости, статьи блога, и упорядочены по дате публикации. Страницы предназначены для статического контента – «О нас», «Контакты», «Услуги».
Зачем нужно добавлять записи на отдельные страницы? (Примеры использования)
По умолчанию, основной цикл WordPress выводит записи на архивных страницах (главная блога, категории, теги). Однако часто возникает необходимость встроить подборку записей в статическую страницу. Примеры:
Тематические подборки: Вывод статей определенной категории на странице, посвященной конкретной услуге.
Портфолио: Отображение кастомных типов записей (проектов) на странице «Портфолио».
Новости компании: Вставка блока последних новостей на главную страницу сайта.
Релевантный контент: Добавление списка похожих статей в конце основной статьи (хотя чаще это делается в шаблоне single.php).
Обзор различных способов добавления записей на страницы
Существует несколько подходов к решению этой задачи, различающихся по сложности и гибкости:
Встроенные инструменты: Использование блоков редактора Gutenberg или шорткодов (предоставляемых темами/плагинами).
Специализированные плагины: Установка плагинов, предлагающих готовые решения с настройками.
Пользовательские шаблоны страниц: Создание PHP-шаблонов для максимального контроля над запросом и отображением.
Рассмотрим каждый из этих методов подробнее.
Способ 1: Использование встроенного редактора WordPress (Gutenberg)
Современный редактор блоков Gutenberg предлагает встроенные инструменты для вывода записей без необходимости написания кода или установки сторонних плагинов.
Использование блока «Последние записи»
Наиболее простой способ – использовать блок "Последние записи" (Latest Posts).
Откройте редактор страницы, на которую нужно добавить записи.
Нажмите "+" для добавления нового блока и найдите "Последние записи".
Вставьте блок на страницу.
Фильтрация и настройка блока
Панель настроек блока (справа) позволяет гибко управлять выводом:
Параметры сортировки: Порядок (Новые к старым, Старые к новым, А-Я, Я-А).
Настройки отображения:
Показывать имя автора.
Показывать дату публикации.
Показывать избранное изображение (с настройкой размера и выравнивания).
Показывать отрывок (с ограничением по количеству слов).
Показывать кнопку "Читать далее".
Фильтры записей:
Категории: Выберите одну или несколько категорий.
Авторы: Укажите конкретных авторов.
Количество элементов: Задайте число отображаемых записей.
Столбцы: Разместите записи в несколько колонок.
Шорткоды (Shortcodes)
Некоторые темы и плагины предоставляют собственные шорткоды для вывода записей. Синтаксис обычно выглядит так: [custom_posts category="news" count="5" order="DESC"]. Использование шорткодов актуально, если вы работаете с классическим редактором или если функциональности блока "Последние записи" недостаточно.
Преимущества и недостатки данного метода
Преимущества: Простота использования, визуальная настройка, не требует дополнительных плагинов (для блока Gutenberg), интеграция с интерфейсом WordPress.
Недостатки: Ограниченная гибкость по сравнению с кодом или специализированными плагинами, возможности кастомизации внешнего вида зависят от темы, фильтрация по тегам или кастомным полям в стандартном блоке отсутствует.
Способ 2: Использование плагинов для отображения записей
Плагины предлагают более мощные и гибкие решения для вывода записей на страницах.
Обзор популярных плагинов
Display Posts: Очень популярный плагин, использующий шорткоды с множеством параметров для тонкой настройки запроса и вывода. Легковесный и гибкий.
Content Views – Post Grid & Filter: Позволяет создавать красивые сетки и списки записей с возможностью фронтенд-фильтрации.
WP Show Posts (приобретен GeneratePress, теперь часть GenerateBlocks): Мощный инструмент для создания списков записей с упором на производительность.
Пошаговая инструкция по установке и настройке плагина Display Posts
Установка: Перейдите в Плагины > Добавить новый, найдите Display Posts, установите и активируйте.
Использование: Плагин работает через шорткод [display-posts]. Вставьте его в текстовый блок или блок шорткода на нужной странице.
Настройка параметров: Модифицируйте шорткод, добавляя параметры. Примеры:
Вывод 5 записей из категории ‘news’:
[display-posts category="news" posts_per_page="5"]
Вывод 3 записей с тегом ‘featured’, упорядоченных по заголовку:
[display-posts tag="featured" posts_per_page="3" orderby="title" order="ASC"]
Вывод записей определенного автора с миниатюрами и отрывком:
[display-posts author="имя_автора" posts_per_page="10" image_size="thumbnail" include_excerpt="true"]
Полный список параметров доступен в документации плагина.
Настройка внешнего вида отображаемых записей (шаблоны, стили)
Плагин Display Posts по умолчанию выводит простой список заголовков. Для кастомизации:
Параметры шорткода: Используйте параметры вроде image_size, include_date, include_excerpt.
CSS: Добавьте собственные CSS-стили для классов .display-posts-listing, .listing-item и других, генерируемых плагином.
Шаблоны (Продвинутый уровень): Для полной кастомизации HTML-структуры можно переопределить шаблоны плагина в вашей теме (требует знания PHP и структуры плагина).
Расширенные возможности плагинов
Многие плагины предлагают дополнительные функции:
Пагинация: [display-posts posts_per_page="10" pagination="true"]
Карусели / Слайдеры: Часто реализуются через интеграцию с другими плагинами или как встроенная опция.
Сложные фильтры: Фильтрация по кастомным полям (meta query), таксономиям.
Поддержка Custom Post Types: Отображение не только стандартных записей, но и пользовательских типов контента.
Способ 3: Создание пользовательских шаблонов страниц (для продвинутых пользователей)
Этот метод предоставляет максимальный контроль над запросом к базе данных и HTML-разметкой выводимых записей. Требует знаний PHP, HTML, CSS и WordPress Theme API.
Основы работы с PHP и шаблонами WordPress
WordPress использует иерархию шаблонов для отображения контента. Чтобы создать уникальный макет для определенной страницы, можно создать файл шаблона страницы.
Создайте PHP-файл в папке вашей активной темы (например, template-custom-posts.php).
Добавьте в начало файла следующий заголовок:
В административной панели WordPress, при редактировании нужной страницы, выберите этот шаблон в разделе "Атрибуты страницы" -> "Шаблон".
Создание нового шаблона страницы с кодом для вывода записей
В файле шаблона (template-custom-posts.php) после get_header(); добавьте основной контент страницы и цикл для вывода записей.
Последние новости
Использование WP_Query для гибкой настройки вывода записей
Класс WP_Query позволяет создавать кастомные запросы к базе данных WordPress. Вставьте следующий код в секцию <?php // Код WP_Query будет здесь ?>:
'post', // Тип записи (post, page, custom_post_type)
'post_status' => 'publish', // Статус записи
'posts_per_page' => 5, // Количество записей на странице (-1 для всех)
'category_name' => 'news', // Ярлык категории (или 'category__in' => [id1, id2])
// 'tag' => 'featured', // Ярлык тега
'orderby' => 'date', // Поле для сортировки (date, title, rand, ...)
'order' => 'DESC', // Направление сортировки (DESC, ASC)
// 'meta_query' => [ // Запросы по кастомным полям
// [
// 'key' => 'custom_field_key',
// 'value' => 'some_value',
// 'compare' => '=',
// ],
// ],
];
/**
* Создание нового экземпляра WP_Query.
*
* @var WP_Query $custom_query
*/
$custom_query = new WP_Query($args);
// Проверка, есть ли записи, соответствующие запросу
if ($custom_query->have_posts()) :
echo '';
// Стандартный цикл WordPress для вывода найденных записей
while ($custom_query->have_posts()) : $custom_query->the_post();
?>
<li id="post-" >
<a href="">
<a href="">
<?php
endwhile;
echo '
';
// Пагинация (если нужна)
// the_posts_pagination(...); // Настройте под $custom_query
// Важно: Сброс данных запроса для предотвращения конфликтов
wp_reset_postdata();
else :
// Если записи не найдены
echo 'Записи не найдены.
';
endif;
?>Добавление CSS стилей для оформления пользовательского шаблона
Добавьте необходимые стили в файл style.css вашей темы или через кастомайзер WordPress (Внешний вид > Настроить > Дополнительные стили), используя классы, указанные в шаблоне (.custom-posts-section, .custom-posts-list, .custom-list-item и т.д.).
Рекомендации и лучшие практики
Оптимизация производительности страницы с большим количеством записей
Кеширование: Используйте плагины кеширования (W3 Total Cache, WP Super Cache) для снижения нагрузки на сервер.
Ограничение запроса: Запрашивайте только необходимые поля с помощью WP_Query (параметр 'fields' => 'ids' или 'fields' => 'id=>parent').
Пагинация: Не выводите сотни записей на одной странице, используйте пагинацию.
Оптимизация изображений: Убедитесь, что миниатюры имеют правильные размеры и оптимизированы.
Отложенная загрузка (Lazy Loading): Применяйте для изображений и, возможно, для самого блока записей.
Адаптивный дизайн: как обеспечить корректное отображение на разных устройствах
Используйте относительные единицы (%, vw) и медиа-запросы в CSS для адаптации сеток и элементов.
Тестируйте отображение на различных разрешениях экрана.
Убедитесь, что изображения масштабируются корректно.
Устранение неполадок: что делать, если записи не отображаются
Проверьте параметры шорткода/блока: Убедитесь в отсутствии опечаток в именах категорий, тегов, параметрах.
Проверьте наличие записей: Удостоверьтесь, что записи с нужными критериями (категория, тег, статус) существуют и опубликованы.
Конфликты плагинов/темы: Временно отключите другие плагины и переключитесь на стандартную тему (Twenty Twenty-Three), чтобы исключить конфликты.
Ошибки PHP (для способа 3): Включите режим отладки WordPress (WP_DEBUG) для выявления ошибок в кастомном коде.
Правильность имени шаблона (для способа 3): Убедитесь, что шаблон выбран для нужной страницы и файл шаблона имеет корректный заголовок.
Заключение: Какой способ выбрать для добавления записей на страницу WordPress?
Блок "Последние записи" (Gutenberg): Идеален для простых задач, когда достаточно базовых фильтров и стандартного отображения.
Плагины: Лучший выбор для большинства пользователей. Предлагают хороший баланс между простотой настройки и гибкостью. Подходят для создания сложных сеток, списков с расширенной фильтрацией без программирования.
Пользовательские шаблоны страниц: Для разработчиков и опытных пользователей, которым нужен полный контроль над запросом, HTML-структурой и интеграцией с уникальным дизайном темы.
Выбор зависит от ваших технических навыков, требований к функциональности и желаемого уровня кастомизации.