W3cubDocs

/WordPress

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

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

Version Description
5.3.0 Added the aria_label parameter.
4.1.0 Introduced.

© 2003–2024 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/_navigation_markup