get_next_posts_link()
Получает HTML-ссылку на список ранее опубликованных постов внутри текущего запроса (ссылка пагинации).
Так как посты обычно сортируются в обратном хронологическом порядке (поздние посты показываются раньше), get_next_posts_link() обычно направляет к поздним постам. Если нужно получить ссылку к ранним (последним) постам, то используйте противоположную функцию get_previous_posts_link(), которая направляет на более новые (последние) посты.
Работает на основе: next_posts(), get_next_posts_page_link()
Хуки из функции
Возвращает
Строку|null. HTML-ссылку если её удалось получить или null.
Использование
get_next_posts_link( $label, $max_page );
- $label(строка)
- Текст ссылки. По умолчанию "следующая страница »" (Next Page »).
По умолчанию: __( 'Next Page »' ) - $max_page(число)
- Ограничение, количество страниц на которых ссылка будет выводиться. По умолчанию 0 - без ограничения.
По умолчанию: $wp_query->max_num_pages
Примеры
#1 Базовое использование
<?php echo get_next_posts_link(); ?>
#2 Произвольные текст ссылки
<?php echo get_next_posts_link('На следующую страницу'); ?> #3 Произвольный текст и количество страниц
<?php echo get_next_posts_link('На следующую страницу', 4); ?> #4 Использование вместе с произвольным циклом WP_Query
Добавьте параметр $max_pages, когда создаете цикл с помощью WP_Query. Чтобы получить количество всех страниц, можно использовать свойство "max_num_pages" объекта WP_Query:
<?php
// определим текущую страницу пагинации
// используйте параметр 'page' вместо paged на главной странице, если она статическая
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
// запрос: выводим посты из категории 1
$the_query = new WP_Query( 'cat=1&paged=' . $paged );
if ( $the_query->have_posts() ){
// Цикл
while ( $the_query->have_posts() ){
$the_query->the_post(); // устанавливаем глобальную переменную $post
the_title();
}
// get_next_posts_link() с ограничением страниц (второй параметр)
echo get_next_posts_link( 'Ранние записи', $the_query->max_num_pages );
echo get_previous_posts_link( 'Новые записи' );
// Очищаем глобальные переменные
wp_reset_postdata();
} else {
echo '<p>Не найдено постов, подходящих под запрос.</p>';
}
?>
Заметки
- Global. int.
$paged - Global. WP_Query.
$wp_queryWordPress Query object.
Список изменений
| С версии 2.7.0 | Введена. |