WordPress как на ладони
Официальная конференция по WordPress в Moскве 18-19 августа, начало в 9:00 wordpress jino

get_the_posts_pagination() WP 4.1.0

Получает ссылки пагинации на след./пред. сет постов. Используется на страницах архивов (рубрики, метки).

Например, если на странице выводится по 10 записей и в рубрике всего 50 записей, то get_the_posts_pagination() выведет ссылки на 5 страниц:

Ссылки пагинации в теме Twenty Fifteen
Ссылки пагинации в теме Twenty Fifteen

Чтобы вывести результат на экран используйте the_posts_pagination().

Является основой для: the_posts_pagination()
Работает на основе: paginate_links(), _navigation_markup()

Хуков нет.

Возвращает

Строку. HTML код ссылок пагинации. Если страниц пагинации нет, то вернет пустую строку.

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

get_the_posts_pagination( $args );
$args(массив)

Аргументы отвечающие за вывод пагинации. По умолчанию устанавливаются следующие аргументы:

$args = array(
	'show_all'     => false, // показаны все страницы участвующие в пагинации
	'end_size'     => 1,     // количество страниц на концах
	'mid_size'     => 1,     // количество страниц вокруг текущей
	'prev_next'    => true,  // выводить ли боковые ссылки "предыдущая/следующая страница".
	'prev_text'    => __('« Previous'),
	'next_text'    => __('Next »'),
	'add_args'     => false, // Массив аргументов (переменных запроса), которые нужно добавить к ссылкам.
	'add_fragment' => '',     // Текст который добавиться ко всем ссылкам.
	'screen_reader_text' => __( 'Posts navigation' ),
);

Параметр передается в функцию paginate_links(). Полный список аргументов смотрите в описании paginate_links().
По умолчанию: предустановки

Примеры

#1 Выводим ссылки пагинации

Допустим, нам нужно на странице архивов вывести ссылки пагинации на сеты постов (/page/1, /page/2), тогда с версии 4.1 мы может использовать такой код:

<?php echo get_the_posts_pagination(); ?>

Вернет:

<nav class="navigation pagination" role="navigation">
	<h2 class="screen-reader-text">Навигация по записям</h2>
	<div class="nav-links"><span class="page-numbers current"><span class="meta-nav screen-reader-text">Страница </span>1</span>
		<a class="page-numbers" href="http://wptest.ru/page/2/"><span class="meta-nav screen-reader-text">Страница </span>2</a>
		<span class="page-numbers dots">…</span>
		<a class="page-numbers" href="http://wptest.ru/page/86/"><span class="meta-nav screen-reader-text">Страница </span>86</a>
		<a class="page-numbers" href="http://wptest.ru/page/87/"><span class="meta-nav screen-reader-text">Страница </span>87</a>
		<a class="next page-numbers" href="http://wptest.ru/page/2/">Следующая страница</a>
	</div>
</nav>

А так это выглядит в браузере:

Код get_the_posts_pagination: wp-includes/link-template.php VER 4.9.8

<?php
function get_the_posts_pagination( $args = array() ) {
	$navigation = '';

	// Don't print empty markup if there's only one page.
	if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
		$args = wp_parse_args( $args, array(
			'mid_size'           => 1,
			'prev_text'          => _x( 'Previous', 'previous set of posts' ),
			'next_text'          => _x( 'Next', 'next set of posts' ),
			'screen_reader_text' => __( 'Posts navigation' ),
		) );

		// Make sure we get a string back. Plain is the next best thing.
		if ( isset( $args['type'] ) && 'array' == $args['type'] ) {
			$args['type'] = 'plain';
		}

		// Set up paginated links.
		$links = paginate_links( $args );

		if ( $links ) {
			$navigation = _navigation_markup( $links, 'pagination', $args['screen_reader_text'] );
		}
	}

	return $navigation;
}

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

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

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

Комментариев нет
    Здравствуйте, !     Войти . Зарегистрироваться