_navigation_markup( string $links, string $css_class = ‘posts-navigation’, string $screen_reader_text = , string $aria_label =  ): string

In this article

This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.

Wraps passed links in navigational markup.

Parameters

$linksstringrequired
Navigational links.
$css_classstringoptional
Custom class for the nav element.
Default 'posts-navigation'.

Default:'posts-navigation'

$screen_reader_textstringoptional
Screen reader text for the nav element.
Default ‘Posts navigation’.

Default:''

$aria_labelstringoptional
ARIA label for the nav element.
Defaults to the value of $screen_reader_text.

Default:''

Return

string Navigation template tag.

Source

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. */ __( '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 the navigation markup template.
	 *
	 * Note: The filtered template HTML must contain specifiers for the navigation
	 * class (%1$s), the screen-reader-text value (%2$s), placement of the navigation
	 * links (%3$s), and ARIA label text if screen-reader-text does not 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 $css_class The class passed by the calling function.
	 * @return string Navigation 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 ) );
}

Hooks

apply_filters( ‘navigation_markup_template’, string $template, string $css_class )

Filters the navigation markup template.

Changelog

VersionDescription
5.3.0Added the aria_label parameter.
4.1.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.