Функция the_posts_navigation()
в WordPress используется для вывода ссылок навигации между страницами постов, таких как «предыдущие записи» и «следующие записи». Эта функция обычно используется на страницах архивов, например, для категорий, меток или страниц авторов, где происходит листание записей.
the_posts_navigation( array $args = array() )
Параметры
$args
(array, необязательный) — Массив аргументов для настройки навигации. Включает следующие параметры:prev_text
(string) — Текст ссылки на предыдущие записи. По умолчанию:'Older posts'
.next_text
(string) — Текст ссылки на следующие записи. По умолчанию:'Newer posts'
.screen_reader_text
(string) — Текст для считывателей экрана. По умолчанию:'Posts navigation'
.
Возвращаемое значение
Функция ничего не возвращает, так как выводит HTML код навигации прямо на экран.
Пример 1: Стандартная навигация между постами
В простом случае без изменения параметров вы можете вызвать функцию так:
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
// Ваш код для вывода поста
}
// Выводим навигацию
the_posts_navigation();
}
Этот код выведет стандартные ссылки «Older posts» и «Newer posts», если есть посты для отображения на нескольких страницах.
Пример 2: Изменение текста ссылок
Если вы хотите изменить текст навигационных ссылок, можно передать свои значения через параметры $args
:
the_posts_navigation( array(
'prev_text' => __( '← Назад', 'textdomain' ),
'next_text' => __( 'Вперёд →', 'textdomain' ),
'screen_reader_text' => __( 'Навигация по записям', 'textdomain' ),
) );
В этом примере ссылки будут отображаться как «← Назад» и «Вперёд →», что может лучше соответствовать дизайну вашего сайта.
Пример 3: Навигация с кастомными классами
Функцию можно кастомизировать, добавив свои стили и классы для элементов навигации:
the_posts_navigation( array(
'prev_text' => __( 'Предыдущие статьи', 'textdomain' ),
'next_text' => __( 'Следующие статьи', 'textdomain' ),
'class' => 'custom-navigation-class',
) );
тот код добавит к элементу навигации кастомный класс custom-navigation-class
, что позволяет вам легко стилизовать его с помощью CSS.
Пример 4: Условная навигация
Чтобы выводить навигацию только в том случае, если существует хотя бы одна ссылка на предыдущие или следующие записи, можно использовать условие:
if ( get_previous_posts_link() || get_next_posts_link() ) {
the_posts_navigation( array(
'prev_text' => __( '← Предыдущие', 'textdomain' ),
'next_text' => __( 'Следующие →', 'textdomain' ),
) );
}
Этот пример проверяет, существуют ли ссылки на предыдущие или следующие записи, и выводит навигацию только при наличии таких ссылок.
Пример 5: Полная кастомизация HTML навигации
Если нужно кардинально изменить HTML-структуру навигации, это можно сделать, переписав HTML вручную в теме. Однако, в большинстве случаев, достаточно кастомизировать текст ссылок, ARIA-метки и классы.
the_posts_navigation( array(
'prev_text' => '<span class="nav-prev">← Старые записи</span>',
'next_text' => '<span class="nav-next">Новые записи →</span>',
'screen_reader_text' => 'Переход по страницам блога',
) );
Этот пример демонстрирует, как можно использовать HTML внутри текста ссылок для добавления дополнительных элементов.
Пример 6: Навигация на архивных страницах
Функция the_posts_navigation()
часто используется на архивных страницах, таких как рубрики, метки или страницы авторов. Вот пример для архива рубрики:
if ( is_category() ) {
the_posts_navigation( array(
'prev_text' => __( 'Предыдущие посты в этой категории', 'textdomain' ),
'next_text' => __( 'Следующие посты в этой категории', 'textdomain' ),
) );
}
Заключение
Функция the_posts_navigation()
— это удобный инструмент для создания навигации между постами на страницах архивов в WordPress. Она обеспечивает гибкость в настройке текста ссылок, добавлении кастомных классов и улучшении доступности. Это позволяет легко управлять навигацией на страницах с большим количеством записей и улучшать пользовательский опыт.