next_posts()WP 0.71

Получает или выводит URL следующей страницы записей.

Функция используется в архивах, списках записей и других шаблонах с постраничной навигацией. Она получает ссылку на следующую страницу пагинации, например на более старые записи.

По умолчанию функция сразу выводит URL на экран. Если нужно получить URL как строку, передайте false во второй параметр.

Важно: функция выводит только сам URL, а не HTML-ссылку <a>. Для готовой ссылки с текстом обычно используют next_posts_link().

Работает на основе: get_next_posts_page_link()
Основа для: get_next_posts_link()

Хуков нет.

Возвращает

Строку|null.

  • строку — URL следующей страницы записей (при $display = false).
  • '' (пустая строка) — если следующей страницы нет.
  • void — если $display = true — выводит URL и ничего не возвращает.

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

next_posts( $max_page, $display );
$max_page(int)
Максимальное количество страниц. Если указать 0, WordPress использует значение из основного запроса.
По умолчанию: 0
$display(bool)
Определяет, нужно ли сразу вывести URL.
По умолчанию: true

Примеры

#1 Вывод URL следующей страницы

Функция сразу выведет URL следующей страницы записей.

next_posts(); // https://example.com/...

#2 Получение URL без вывода

В этом примере URL сохраняется в переменную, чтобы использовать его позже.

$next_posts_url = next_posts( 0, false );

if ( $next_posts_url ) {
	echo esc_url( $next_posts_url );
}

#3 Создание своей HTML-ссылки

Так как функция получает только URL, HTML-разметку можно сделать вручную.

if ( $next_posts_url ) {
	printf( '<a href="%s">Старые записи</a>', next_posts( 0, false ) );
}

#4 Ограничение максимального количества страниц

В этом примере ссылка будет получена только в пределах указанного количества страниц.

$max_page       = 5;
$next_posts_url = next_posts( $max_page, false );

if ( $next_posts_url ) {
	printf( '<a href="%s">Следующая страница</a>', esc_url( $next_posts_url ) );
}

Список изменений

С версии 0.71 Введена.

Код next_posts() WP 7.0

function next_posts( $max_page = 0, $display = true ) {
	$link   = get_next_posts_page_link( $max_page );
	$output = $link ? esc_url( $link ) : '';

	if ( $display ) {
		echo $output;
	} else {
		return $output;
	}
}