WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

get_the_posts_navigation() WP 4.1.0

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

Такие ссылки можно получить с помощью функций get_next_posts_link() и get_previous_posts_link().

Чтобы получить ссылки навигации для отдельной записи используйте the_post_navigation().

Является основой для: the_posts_navigation()

Хуков нет.

Возвращает

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

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

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

С помощью параметров передаваемых в массив prev_text и next_text, можно изменить текст ссылок. По умолчанию используется «Старые записи» и «Новые записи»:

$args = array(
	'prev_text'          => __( 'Older posts' ),
	'next_text'          => __( 'Newer posts' ),
	'screen_reader_text' => __( 'Posts navigation' ),
);

По умолчанию: array()

Примеры

#1 Выведем ссылки на предыдущий/следующий сет постов

the_posts_navigation( array(
	'prev_text'          => 'Предыдущие записи',
	'next_text'          => 'Следующие записи',
	'screen_reader_text' => 'Навигация',
) );

Этот код выведет:

<nav class="navigation posts-navigation" role="navigation">
	<h2 class="screen-reader-text">Навигация</h2>
	<div class="nav-links">
		<div class="nav-previous">
			<a href="http://wptest.ru/page/3/">Предыдущие записи</a>
		</div>
		<div class="nav-next">
			<a href="http://wptest.ru/">Следующие записи</a>
		</div>
	</div>
</nav>

Код get the posts navigation: wp-includes/link-template.php WP 5.2

<?php
function get_the_posts_navigation( $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(
				'prev_text'          => __( 'Older posts' ),
				'next_text'          => __( 'Newer posts' ),
				'screen_reader_text' => __( 'Posts navigation' ),
			)
		);

		$next_link = get_previous_posts_link( $args['next_text'] );
		$prev_link = get_next_posts_link( $args['prev_text'] );

		if ( $prev_link ) {
			$navigation .= '<div class="nav-previous">' . $prev_link . '</div>';
		}

		if ( $next_link ) {
			$navigation .= '<div class="nav-next">' . $next_link . '</div>';
		}

		$navigation = _navigation_markup( $navigation, 'posts-navigation', $args['screen_reader_text'] );
	}

	return $navigation;
}

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

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

Еще из раздела: Меню

5 комментов
  • Цифровой cайт: digital-boom.ru

    Вот эти строки в тексте исправь, а то пипец как это меня запутало

    $next_link = get_previous_posts_link( $args['next_text'] );
    $prev_link = get_next_posts_link( $args['prev_text'] );

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

      Так это же код функции в ядре WP, я не могу это исправить. Напиши разработчикам об этом...

      Ответитьгод назад #
      • @ mxm2

        Kama, Видимо, Цифровой это имел ввиду:

        • в get_previous_post_link нет аргумента $args['next_text'] , а он у тебя почему-то указан, и наоборот у get_next_post_link нет $args['prev_text'].
          ?
        Ответить2 мес назад #
        • Kama7452

          Не вижу где у меня указан этот аргумент, скрин дай плз

          Ответить2 мес назад #
          • @ mxm2

            Kama, прошу прощения, я виноват, я спутал get_next_posts_link с get_next_post_link. smile
            У тебя всё правильно.

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