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 WooCommerce

Миша Рудрастых

Впервые познакомился с WordPress в 2009 году, и после двух лет мучений с Joomla и самописными движками это был просто бальзам на душу. С 2014 года меня можно встретить на WordCamp — официальной конфе по WP в Москве, иногда там выступаю. Также в настоящее время веду курсы по WordPress в Epic Skills в Питере.