Вывод ссылки на следующую и предыдущую запись внутри поста

17.09.2017

Самый простой вариант вывода ссылки на предыдущий или следующий пост на странице поста:

<div class="previous-post"> <?php previous_post_link(' &laquo; %link '); ?> </div>
<div class="next-post"> <?php next_post_link(' %link &raquo; '); ?> </div>

Вариант с выводом html-тегов и указанием классов необходимых для верстки, а так же вывод предыдущего-следующего поста из той же категории, внутри которой находится текущий пост:

<div class="navigation">
  <?php
  $prev_post = get_previous_post( true, '', 'category' );
  if (!empty( $prev_post )): ?>
  <a href="<?php echo get_permalink( $prev_post->ID ); ?>" class="prev-guide-link"><i class="fa fa-arrow-left" aria-hidden="true"></i> <?php echo $prev_post->post_title ?></a>
  <?php
  endif; ?>
 
  <?php
  $next_post = get_next_post( true, '', 'category' );
  if (!empty( $next_post )): ?>
  <a href="<?php echo get_permalink( $next_post->ID ); ?>" class="next-guide-link"><?php echo $next_post->post_title; ?> <i class="fa fa-arrow-right" aria-hidden="true"></i></a>
  <?php
  endif; ?>
</div>

Использование

get_previous_post( $in_same_term, $excluded_trems, $taxonomy );

$in_same_term – Должен ли пост находится в одинаковой рубрике. Ставим true, если нужно получить пост из той же рубрики, что и текущий.

По умолчанию: false

$excluded_trems – ID категорий, посты из которых получать не нужно.

По умолчанию: “”

$taxonomy – Название таксономии, когда включен параметр $in_same_term.

По умолчанию: ‘category’

Объяснение

get_next_post() – выведет следующий по дате добавления пост, неважно в какой категории он находится.

get_next_post( true, '', 'category' ) – выведет следующий пост из этой же категории, к которой принадлежит текущая запись.

Как вывести ссылки на предыдущий-следующий посты для кастомных типов постов (custom post types)

Все логично и просто.

get_next_post() – сработает и для кастомных типов записей, но вывод постов будет не из текущей таксономии, а в порядке сортировки.

get_next_post( true, '', 'portfolio_category' ) – выведет следующий пост из той же самой таксономии, в которой размещен текущий пост, где portfolio_category – это кастомная таксономия.

Рекомендую к прочтению:

Оставить комментарий