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.

_navigation_markup( string $links, string $class = 'posts-navigation', string $screen_reader_text = '' )

Wraps passed links in navigational markup.



(Required) Navigational links.


(Optional) Custom class for nav element. Default: 'posts-navigation'.

Default value: 'posts-navigation'


(Optional) Screen reader text for nav element. Default: 'Posts navigation'.

Default value: ''


(string) Navigation template tag.


File: wp-includes/link-template.php

function _navigation_markup( $links, $class = 'posts-navigation', $screen_reader_text = '' ) {
	if ( empty( $screen_reader_text ) ) {
		$screen_reader_text = __( 'Posts navigation' );

	$template = '
	<nav class="navigation %1$s">
		<h2 class="screen-reader-text">%2$s</h2>
		<div class="nav-links">%3$s</div>

	 * 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), and placement of the
	 * navigation links (%3$s):
	 *     <nav class="navigation %1$s" role="navigation">
	 *         <h2 class="screen-reader-text">%2$s</h2>
	 *         <div class="nav-links">%3$s</div>
	 *     </nav>
	 * @since WP-4.4.0
	 * @param string $template The default template.
	 * @param string $class    The 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 );


Version Description
WP-4.1.0 Introduced.