WordPress как на ладони
wordpress jino

posts_nav_link() WP 0.71

Выводит ссылки на предыдущую и следующую страницы (посты/категории). Может пригодится для того, чтобы снабдить архивы ссылками навигации.

Чтобы получить ссылки на предыдущий/следующий посты в отдельности используйте функции: next_post_link() и previous_post_link().

Работает на основе: get_posts_nav_link()

Хуков нет.

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

<?php posts_nav_link( $sep, $prelabel, $nextlabel ); ?>
$sep(строка)
Текст отображаемый между ссылок.
По умолчанию: ' — '
$prelabel(строка)
Текст (анкор) ссылки для предыдущего поста.
По умолчанию: __('« Previous Page')
$nxtlabel(строка)
Текст (анкор) ссылки для следующего поста.
По умолчанию: __('Next Page »')

Примеры

#1 HTML который выводит функция

<?php posts_nav_link( $sep, $prelabel, $nextlabel ); ?>

Выведет:

<a href="ссылка">« Предыдущая страница</a> — <a href="ссылка">Следующая страница »</a>

#2 Чтобы отцентрировать (показать по середине страницы) используйте такой код:

<div style="text-align:center;">
	<?php posts_nav_link(' · ', 'Предыдущая страница', 'Следующая страница'); ?>
</div>

#3 В качестве анкоров ссылок можно использовать картинки, например так:

<?php 
posts_nav_link( 
	' ', 
	'<img src="' . get_stylesheet_directory_uri() . '/images/prev.jpg" />', 
	'<img src="' . get_stylesheet_directory_uri() . '/images/next.jpg" />' 
); 
?>

Код posts nav link: wp-includes/link-template.php WP 4.9

<?php
function posts_nav_link( $sep = '', $prelabel = '', $nxtlabel = '' ) {
	$args = array_filter( compact('sep', 'prelabel', 'nxtlabel') );
	echo get_posts_nav_link($args);
}

Cвязанные функции

Из метки: navigation pagination (навигация пагинация)

Еще из раздела: Архивы

posts_nav_link 3 комментария
  • Den

    А как сделать, чтобы на главной странице отображалась неактивная ссылка "Следующая страница", т.е. на страницу новостей, которой ещё нет? Как у вас ссылка "Сюда" на первой странице.

    Ответить3.4 года назад #
    • Kama4639

      В том месте где нужно вывести текст вместо ссылки, используйте такую проверку:

      if( ! is_paged() )
      	echo "Следующая страница";
      Ответить3.4 года назад #
  • Den

    Большое спасибо!

    Ответить3.4 года назад #

Здравствуйте, !

Ваш комментарий