_navigation_markup() WP 4.1.0

Обертає передані посилання навігації/пагінації у html шаблон.

Використовується для стандартного виведення посилань навігації/пагінації у функціях: the_posts_navigation() .

Ця функція має корисний хук navigation_markup_template , використовуючи який можна змінити шаблон виведення блоку (див. приклад).

Ця функція вважається внутрішньою для використання самим ядром . Не рекомендується використовувати цю функцію у своєму коді.

Хуки з функції
_navigation_markup( $links, $class, $screen_reader_text );
$links
(рядок) (обов’язковий)
Посилання навігації.
$class
(рядок)
Додаткові класи до головного блоку
<nav>. Класи додадуться до наявного класу
navigation.


За замовчуванням: ‘posts-navigation’
$screen_reader_text
(рядок)
Назва блоку навігації під час читання з екрана (для роботів, що читають код).


Типово: __( ‘Posts navigation’ )

Приклади

0

#1 Отримаємо блок навігації

Допустимо ми отримали посилання навігації за допомогою paginate_links() і тепер нам потрібно вивести ці посилання у стандартному форматі пагінації:

// Отримуємо посилання пагінації $links = paginate_links($args); if ( $links ) { echo _navigation_markup( $links, 'pagination', 'Моя крута навігація'); }
0

#2 Зміна шаблону блоку навігації/пагінації

Допустимо нам потрібно змінити виведення HTML у функціях: the_posts_navigation() , потрібно видалити заголовок H2. Для цього використовуємо хук 'navigation_markup_template':

add_filter('navigation_markup_template', 'my_navigation_template', 10, 2); function my_navigation_template( $template, $class ){ /* Вид базового шаблону: <nav class="navigation %1$s" role="navigation"> <h2 class="screen-reader-text">%2$s</h2> <div class="nav-links">%3$s</div> </nav> */ return ' <nav class="navigation %1$s" role="navigation"> <div class="nav-links">%3$s</div> </nav> '; }

список змін

З версії 4.1.0Введено.
З версії 5.3.0Added aria_label parameter.

Код _navigation_markup() WP 6.0.2

function _navigation_markup( $links, $class = 'posts-navigation', $screen_reader_text = '', $aria_label = '' ) { if ( empty( $screen_reader_text ) ) { $screen_reader_text = __( 'Posts navigation' ); } if (empty($aria_label)) { $aria_label = $screen_reader_text; } $template = ' <nav class="navigation %1$s" aria-label="%4$s"> <h2 class="screen-reader-text">%2$s</h2> <div class="nav-links">%3$s</div> </nav>'; /** * Filters navigation markup template. * * Note: Тлумачний HTML-метал повинен зберігати specifiers for navigation * class (%1$s), screen-reader-text value (%2$s), placement of the navigation * links (%3$s), і ARIA label text if screen-reader-text не fit that (%4$s): * * <nav class="navigation %1$s" aria-label="%4$s"> * <h2 class="screen-reader-text">%2$s</h2> * <div class="nav-links">%3$s</div> *</nav> * * @ Since 4.4.0 * * @param string $template The default template. * @param string $class class passed by the calling function. * @return string Navigation template. */ $template = apply_filters( 'navigation_markup_template', $template, $class ); return sprintf( $template, sanitize_html_class( $class ), esc_html( $screen_reader_text ), $links, esc_html( $aria_label ) ); }

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *