Функция _NAVIGATION_MARKUP() │ WP 4.1.0
Функция _navigation_markup()
помогает обернуть переданные ссылки в разметку для навигации. Эта функция предназначена для использования только внутри ядра WordPress, и не рекомендуется использовать ее в вашем коде.
Используется в
get_the_comments_pagination()
get_the_comments_navigation()
get_the_posts_pagination()
get_the_posts_navigation()
Хуки из функции
navigation_markup_template
Возвращаемое значение
Возвращает строку с шаблоном навигации.
Использование
_navigation_markup( $links, $css_class, $screen_reader_text, $aria_label );
$links
(string) (обязательный) — навигационные ссылки.$css_class
(string) — пользовательский класс для элемента nav. По умолчанию: 'posts-navigation'.$screen_reader_text
(string) — текст для чтения с экрана для элемента nav. По умолчанию: 'Навигация по записям'.$aria_label
(string) — ARIA-метка для элемента nav. По умолчанию: значение$screen_reader_text
.
Примеры использования
Пример 1: Получение HTML для навигации
Предположим, что мы получили ссылки для навигации с помощью функции paginate_links()
и теперь нам нужно вывести эти ссылки в стандартном формате для пагинации:
// Получаем ссылки пагинации
$links = paginate_links( $args );
if ( $links ) {
echo _navigation_markup( $links, 'pagination', 'Моя классная навигация' );
}
Пример 2: Изменение шаблона HTML для навигации/пагинации
Допустим, мы хотим изменить HTML-вывод в функциях the_posts_pagination()
и the_posts_navigation()
, удалив заголовок H2. Для этого используем хук navigation_markup_template
:
add_filter( 'navigation_markup_template', 'my_navigation_template', 10, 2 );
function my_navigation_template( $template, $class ) {
/*
Тип базового шаблона:
*/
return '
';
}
Изменения
- С версии 4.1.0 — функция была введена.
- С версии 5.3.0 — добавлен параметр
aria_label
.
Код функции _NAVIGATION_MARKUP
function _navigation_markup( $links, $css_class = 'posts-navigation', $screen_reader_text = '', $aria_label = '' ) {
if ( empty( $screen_reader_text ) ) {
$screen_reader_text = /* translators: Hidden accessibility text. */ __( 'Навигация по записям' );
}
if ( empty( $aria_label ) ) {
$aria_label = $screen_reader_text;
}
$template = '
';
$template = apply_filters( 'navigation_markup_template', $template, $css_class );
return sprintf( $template, sanitize_html_class( $css_class ), esc_html( $screen_reader_text ), $links, esc_attr( $aria_label ) );
}
Похожие функции
get_next_posts_page_link()
get_previous_posts_page_link()
get_the_comments_navigation()
get_the_posts_navigation()
- и другие функции, связанные с навигацией и пагинацией.
Эта статья поможет вам лучше понять, как использовать функцию _navigation_markup()
в WordPress и как изменять ее поведение с помощью фильтров.