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

Для этого в ядре WordPress существует функция wp_get_recent_posts(), которая предполагает как раз обращение к последним записям на вашем WordPress-сайте. Ее синтаксис таков:

Параметры функции:

  • $args - массив аргументов по которым нужно получить последние посты.
  • $output - тип возвращаемых данных:
    • ARRAY_A (по умолчанию) - массив массивов с данными постов, в индексах массива будет ID поста.
    • OBJECT - массив объектов WP_Post, в индексах массива будут числа по порядку.

Когда вы используете функцию wp_get_recent_posts(), вам необходимо пройти в цикле по тем последним записям, которые вы получите в результате. Пример:

Поскольку переменная $post используется в цикле WordPress для вывода текущей записи или страницы или списка записей на главной или в блоге, например, то в цикле вывода последних записей вам нужно использовать функции setup_postdata( $post ) и wp_reset_postdata().

В том случае, когда вам нужно получить последние записи из определенной категории, вы можете указать параметр 'category' => 18, например, и тогда посты будут выводиться только из этой категории, скажем, это какие-то новости. Либо вы можете еще почитать, как сделать плагин для вывода подобных записей из той категории, к которой принадлежит статья, которую сейчас читает пользователь.

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

Пример вывода последних записей в футере

В файле functions.php или любом другом, который отвечает у вас за функции темы (шаблона) и подключен в functions.php, например, с именем template-functions.php, мы разместим такую функцию:

Затем эту функцию необходимо использовать в файле footer.php в одном из блоков, где вы хотите выводить последние записи:

В результате мы получим такой внешний вид на сайте.

Последние записи в футере

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

Для этой темы используется Bootstrap, поэтому в разметке есть классы col-md-6 col-lg-3 и Font Awesome, т.к. для вывода иконки календаря мы используем код <i class="fa-solid fa-calendar-days"></i>.

Особенности и параметры функции wp_get_recent_posts()

Особенностью функции wp_get_recent_posts() является то, что вы не можете использовать в ней такие функции, как the_title() или the_date(), т.к. они будут давать вам заголовок и дату текущей записи (страницы), а не той, которая является последней в вашем цикле. Поэтому вы можете выбирать любой из необходимых параметров этой функции, но использовать его в виде <?php echo $post['param'] ?>.

Давайте посмотрим, какие же данные мы можем получить для последних записей.

Данные, возвращаемые для каждого поста

  • ID (число) - идентификатор записи.
  • post_author (число) - идентификатор автора записи.
  • post_date (строка) - дата записи в формате YYYY-MM-DD HH:MM:SS (с учетом исправления времени).
  • post_date_gmt (строка) - дата записи в формате YYYY-MM-DD HH:MM:SS (время по Гринвичу (GMT)).
  • post_content (строка) - текст записи.
  • post_title (строка) - заголовок записи.
  • post_excerpt (строка) - цитата записи.
  • post_status (строка) - статус записи, может быть: publish|pending|draft|private|static|object|attachment|inherit|future|trash.
  • comment_status (строка) - возможность комментирования для записи, может быть: open|closed|registered_only.
  • ping_status (строка) - статус пингов/трэкбэков, может быть: open|closed.
  • post_password (строка) - пароль записи.
  • post_name (строка) - имя записи (слаг). Название которое обычно используется в УРЛ-е.
  • to_ping (строка) - URL-ы из статьи, на которые нужно отправить уведомления при обновлении поста.
  • pinged (строка) - URL-ы из статьи, которые уже получили уведомления.
  • post_modified (строка) - дата изменения записи в формате YYYY-MM-DD HH:MM:SS (с учетом корректировки времени).
  • post_modified_gmt (строка) - дата изменения записи в формате YYYY-MM-DD HH:MM:SS (время по Гринвичу (GMT)).
  • post_parent (число)  - ID родительской страницы (отлично от нуля у прикрепленных типов записей).
  • guid (строка) - уникальный идентификатор записи (для RSS), обычно содержит ссылку на запись. Нельзя использовать этот параметр в качестве постоянной ссылки на пост.
  • menu_order (число) - порядковый номер для построения меню (используется для постоянных страниц).
  • post_type (строка) - тип записи: postpageattachment и т.д.
  • post_mime_type (строка) - какого типа вложения нужно получить. Можно использовать, когда параметр post_type = attachment. Например:
  • comment_count (число) - количество комментариев у записи.
Автор: Админ

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *