Описание функции get_previous_post()
Функция get_previous_post() возвращает предыдущую запись в текущем контексте. Это полезно для навигации по записям, например, в блоге или на сайте с новостями. Функция может использоваться в шаблонах для отображения ссылок на предыдущие записи, позволяя пользователям легко перемещаться между ними.
Функция учитывает порядок записей, определяемый настройками WordPress, и может принимать дополнительные параметры для фильтрации.
Параметры
$in_same_term
Тип: bool
Обязательный: Нет
Описание: Если true, вернёт запись из того же термина (категории/тега)
Возможные значения:
0: 1
1:
$excluded_terms
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив ID термов, которые следует исключить из результатов
Возможные значения:
$post_type
Тип: string
Обязательный: Нет
По умолчанию: post
Описание: Тип записи, из которой следует получать предыдущую запись
Возможные значения:
0: post
1: page
2: custom_post_type
Возвращаемое значение
Тип: WP_Post|null
Описание: Возвращает объект WP_Post предыдущей записи или null, если записи не найдены
Возможные значения:
• Объект WP_Post, если предыдущая запись найдена
• null, если предыдущей записи нет
Примеры использования
Базовый пример получения ссылки на предыдущую запись
$previous_post = get_previous_post();
if (!empty($previous_post)) {
echo '' . $previous_post->post_title . '';
}
Выводит заголовок предыдущей записи как ссылку
Получение предыдущей записи из той же категории
$previous_post = get_previous_post(true);
if (!empty($previous_post)) {
echo '' . $previous_post->post_title . '';
}
Использует параметр in_same_term
Получение предыдущей записи, исключая записи с определёнными термами
$excluded_terms = array(1, 2);
$previous_post = get_previous_post(false, $excluded_terms);
if (!empty($previous_post)) {
echo '' . $previous_post->post_title . '';
}
Исключает записи с ID 1 и 2
Безопасность
Валидация входных данных: Параметры проходят валидацию внутри функции
Санитизация: Параметры автоматически очищаются WordPress
Рекомендации: При выводе данных используйте esc_html() для заголовков записей
— Связанные функции
Получает следующую запись в текущем контексте
Получает соседнюю запись по указанным параметрам
— Примечания
– Ограничения
Функция работает только для публичных записей
– Частые проблемы
- Возвращает null, если предыдущая запись не найдена
- Проблемы с терминами, если не наложены соответствующие параметры