get_adjacent_post() — возвращает объект предыдущего или следующего поста
Функция возвращает объект поста WP_Post (предыдущего или следующего — зависит от указанных параметров), подробное описание самого объекта здесь.
get_adjacent_post( $in_same_cat = false, $excluded_categories = '', $previous = true )
- $in_same_cat
- (логическое) должен ли возвращаемый пост находиться в той же категории, что и текущий.
- $excluded_categories
- (строка|массив) ID рубрик через запятую или в виде массива, посты из которых возвращать не нужно. Параметр будет проигнорирован, если
$in_same_cat = true
.
- $previous
- (логическое) если
true
— возвращается предыдущий пост, если false
, то следующий.
Если параметр $in_same_cat = false
, то функция работает также и для типов записей page
(страницы).
Если пост помечен как «Личное», то он будет проигнорирован.
Примеры
Выводим ссылку на предыдущий пост:
$previous_post = get_adjacent_post();
echo '<a href="' . get_permalink( $previous_post ) . '">' . $previous_post->post_title . '</a>';
Ссылка на следующий пост, который находится в той же категории, что и текущий:
$next_post = get_adjacent_post( true, '', false);
echo '<a href="' . get_permalink( $next_post ) . '">' . $next_post->post_title . '</a>';

Миша
Недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.
Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.
Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.