Описание функции get_adjacent_post()
Функция get_adjacent_post() используется для получения соседнего поста (предыдущего или следующего) в контексте текущего поста. Это полезно для навигации между записями в блоге или на сайте. Функция может быть использована в шаблонах и плагинах для создания ссылок на соседние записи, что улучшает пользовательский опыт и увеличивает время нахождения на сайте.
Функция возвращает объект WP_Post, представляющий соседний пост, если он существует, или null, если поста нет.
Параметры
$in_same_term
Тип: mixed
Обязательный: Нет
По умолчанию: null
Описание: Идентификатор термина для фильтрации соседних постов по таксономии
Возможные значения:
$excluded_terms
Тип: mixed
Обязательный: Нет
По умолчанию: null
Описание: Идентификаторы терминов, которые следует исключить из поиска соседних постов
Возможные значения:
$previous
Тип: bool
Обязательный: Нет
По умолчанию: false
Описание: Флаг, указывающий, нужно ли получить предыдущий пост
Возможные значения:
0: 1
1:
Возвращаемое значение
Тип: WP_Post|null
Описание: Объект WP_Post, представляющий соседний пост или null, если пост не найден
Возможные значения:
• Объект WP_Post при успешном выполнении
• null, если соседний пост не найден
Примеры использования
Базовый пример получения следующего поста
$next_post = get_adjacent_post(false, '', false);
if ($next_post) {
echo ''.$next_post->post_title.'';
}
Ссылка на следующий пост будет выведена, если он существует
Получение предыдущего поста, находящегося в той же категории
$previous_post = get_adjacent_post(true, '', true);
if ($previous_post) {
echo ''.$previous_post->post_title.'';
}
Фильтрация по текущему термину
Проверка на наличие следующего поста
$next_post = get_adjacent_post();
if (!$next_post) {
echo 'Следующий пост не найден';
}
Вывод сообщения, если пост не найден
Безопасность
Валидация входных данных: Функция проверяет корректность переданных параметров
Санитизация: Параметры очищаются автоматически
Рекомендации: Используйте esc_url() и esc_html() для безопасного вывода ссылок и названий постов
— Связанные функции
Получает только предыдущий пост без возможности фильтрации
Получает только следующий пост без возможности фильтрации
— Хуки
Фильтрует JOIN-условия при запросе соседнего поста
Фильтрует WHERE-условия при запросе соседнего поста
— Примечания
– Ограничения
Не работает для постов без дата-метки
– Частые проблемы
- Пустой результат при отсутствии соседнего поста
- Неправильные результаты при использовании фильтров