Private Access Private Access

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.

Summery Summery

Wraps passed links in navigational markup.

Syntax Syntax

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

Parameters Parameters


(Required) Navigational links.


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

Default value: 'posts-navigation'


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

Default value: ''


(Optional) ARIA label for the nav element. Default: same value as $screen_reader_text.

Default value: ''

Return Return

(string) Navigation template tag.

Source Source

File: wp-includes/link-template.php

 * @since 4.1.0
 * @since 5.3.0 Added the `aria_label` parameter.
 * @access private
 * @param string $links              Navigational links.
 * @param string $class              Optional. Custom class for the nav element.
 *                                   Default 'posts-navigation'.
 * @param string $screen_reader_text Optional. Screen reader text for the nav element.
 *                                   Default 'Posts navigation'.
 * @param string $aria_label         Optional. ARIA label for the nav element.
 *                                   Defaults to the value of `$screen_reader_text`.
 * @return string Navigation template tag.
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" role="navigation" aria-label="%4$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), 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" role="navigation" aria-label="%4$s">
	 *         <h2 class="screen-reader-text">%2$s</h2>


Changelog Changelog

Version Description
5.3.0 Added the aria_label parameter.
4.1.0 Introduced.


Leave a Reply