_navigation_markup

The timeline below displays how wordpress function _navigation_markup has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Wraps passed links in navigational markup.
 *
 * @since 4.1.0
 * @since 5.3.0 Added the `aria_label` parameter.
 * @access private
 *
 * @param string $links              Navigational links.
 * @param string $css_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, $css_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 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));
}

WordPress Version: 6.2

/**
 * Wraps passed links in navigational markup.
 *
 * @since 4.1.0
 * @since 5.3.0 Added the `aria_label` parameter.
 * @access private
 *
 * @param string $links              Navigational links.
 * @param string $css_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, $css_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 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_html($aria_label));
}

WordPress Version: 5.9

/**
 * Wraps passed links in navigational markup.
 *
 * @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" 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 $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, esc_html($aria_label));
}

WordPress Version: 5.5

/**
 * Wraps passed links in navigational markup.
 *
 * @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>
	</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" role="navigation" 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    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, esc_html($aria_label));
}

WordPress Version: 5.3

/**
 * Wraps passed links in navigational markup.
 *
 * @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. Default: same value as $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>
	</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" role="navigation" 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    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, esc_html($aria_label));
}

WordPress Version: 4.6

/**
 * Wraps passed links in navigational markup.
 *
 * @since 4.1.0
 * @access private
 *
 * @param string $links              Navigational links.
 * @param string $class              Optional. Custom class for nav element. Default: 'posts-navigation'.
 * @param string $screen_reader_text Optional. Screen reader text for nav element. Default: 'Posts navigation'.
 * @return string Navigation template tag.
 */
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" role="navigation">
		<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), 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 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);
}

WordPress Version: 4.4

/**
 * Wraps passed links in navigational markup.
 *
 * @since 4.1.0
 * @access private
 *
 * @param string $links              Navigational links.
 * @param string $class              Optional. Custom class for nav element. Default: 'posts-navigation'.
 * @param string $screen_reader_text Optional. Screen reader text for nav element. Default: 'Posts navigation'.
 * @return string Navigation template tag.
 */
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" role="navigation">
		<h2 class="screen-reader-text">%2$s</h2>
		<div class="nav-links">%3$s</div>
	</nav>';
    /**
     * Filter 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 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);
}

WordPress Version: 4.1

/**
 * Wraps passed links in navigational markup.
 *
 * @since 4.1.0
 * @access private
 *
 * @param string $links              Navigational links.
 * @param string $class              Optional. Custom class for nav element. Default: 'posts-navigation'.
 * @param string $screen_reader_text Optional. Screen reader text for nav element. Default: 'Posts navigation'.
 * @return string Navigation template tag.
 */
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" role="navigation">
		<h2 class="screen-reader-text">%2$s</h2>
		<div class="nav-links">%3$s</div>
	</nav>';
    return sprintf($template, sanitize_html_class($class), esc_html($screen_reader_text), $links);
}