Функция wp_get_recent_posts()
используется для получения списка последних записей (постов) на сайте WordPress. Она возвращает массив постов с информацией о них и является гибким инструментом для отображения недавнего контента на страницах сайта.
wp_get_recent_posts( array $args = array(), string $output = ARRAY_A ): array|false
Параметры:
- $args (массив, необязательный): Параметры для получения постов. Если параметры не указаны, функция по умолчанию вернет 10 последних опубликованных постов.Примеры параметров:
numberposts
(число): Количество записей для получения.post_status
(строка): Статус записей. Например,'publish'
,'draft'
,'private'
.post_type
(строка): Тип записей (например,'post'
для обычных записей или'page'
для страниц).
- $output (строка, необязательный): Формат возвращаемых данных. По умолчанию это
ARRAY_A
— массив ассоциативных массивов. Можно передатьOBJECT
, чтобы получить массив объектовWP_Post
.
Возвращаемое значение:
- Возвращает массив записей в формате, указанном в параметре
$output
, либоfalse
в случае неудачи.
Пример 1: Получение списка последних записей
Этот пример демонстрирует, как вывести список из пяти последних опубликованных записей.
$args = array(
'numberposts' => 5, // Количество записей
'post_status' => 'publish', // Только опубликованные записи
);
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $post ) {
echo '<li><a href="' . get_permalink( $post['ID'] ) . '">' . $post['post_title'] . '</a></li>';
}
Пример 2: Получение записей определенной категории
Чтобы вывести последние записи, относящиеся к определенной категории, можно использовать параметр category
.
$args = array(
'numberposts' => 3,
'category' => 8, // ID категории
'post_status' => 'publish',
);
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $post ) {
echo '<li><a href="' . get_permalink( $post['ID'] ) . '">' . $post['post_title'] . '</a></li>';
}
Этот код выведет три последних поста из категории с ID 8.
Пример 3: Ограничение по формату записи
Чтобы исключить определенные форматы записей (например, формат aside
и gallery
), используйте параметр tax_query
.
$args = array(
'numberposts' => 5,
'tax_query' => array(
array(
'taxonomy' => 'post_format',
'field' => 'slug',
'terms' => array('post-format-aside', 'post-format-gallery'),
'operator' => 'NOT IN',
),
),
'post_status' => 'publish',
);
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $post ) {
echo '<li><a href="' . get_permalink( $post['ID'] ) . '">' . $post['post_title'] . '</a></li>';
}
Этот код исключит записи с форматами aside
и gallery
.
Пример 4: Получение черновиков и будущих записей
Иногда нужно получить черновики или запланированные записи. Это можно сделать с помощью параметра post_status
.
$args = array(
'numberposts' => 10,
'post_status' => array('draft', 'future'), // Получаем черновики и запланированные посты
);
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $post ) {
echo '<li>' . $post['post_title'] . ' (статус: ' . $post['post_status'] . ')</li>';
}
Пример 5: Использование параметра offset
Параметр offset
позволяет пропустить несколько первых записей и начать вывод с определенной позиции. Например, чтобы вывести 5 записей, начиная с третьей по счету:
$args = array(
'numberposts' => 5,
'offset' => 2, // Пропускаем первые 2 записи
'post_status' => 'publish',
);
$recent_posts = wp_get_recent_posts( $args );
foreach ( $recent_posts as $post ) {
echo '<li><a href="' . get_permalink( $post['ID'] ) . '">' . $post['post_title'] . '</a></li>';
}
Пример 6: Получение последних записей с миниатюрами
Этот пример демонстрирует, как вывести последние записи с их миниатюрами и заголовками.
$args = array(
'numberposts' => 4,
'post_status' => 'publish',
);
$recent_posts = wp_get_recent_posts( $args );
echo '<ul id="slider-id" class="slider-class">';
foreach ( $recent_posts as $post ) {
echo '<li>';
echo '<a href="' . get_permalink( $post['ID'] ) . '">';
echo get_the_post_thumbnail( $post['ID'], 'full' );
echo '<p class="slider-caption-class">' . $post['post_title'] . '</p>';
echo '</a>';
echo '</li>';
}
echo '</ul>';
Этот код выведет четыре последних записи с миниатюрами и заголовками в виде слайдера.
Заключение
Функция wp_get_recent_posts()
предоставляет простой и эффективный способ получения недавних записей. Она может быть настроена для вывода постов по категориям, с миниатюрами, по статусу и многим другим параметрам. С помощью этой функции можно создать динамический контент, оптимизированный под потребности вашего сайта.