get_the_posts_navigation() WordPress Function

The get_the_posts_navigation() function is used to display a navigation menu for paginated posts. This function will return a string of HTML containing the links to the next and previous posts, as well as links to the first and last posts in the series.

get_the_posts_navigation( array $args = array() ) #

Returns the navigation to next/previous set of posts, when applicable.


Parameters

$args

(array)(Optional)Default posts navigation arguments.

  • 'prev_text'
    (string) Anchor text to display in the previous posts link. Default 'Older posts'.
  • 'next_text'
    (string) Anchor text to display in the next posts link. Default 'Newer posts'.
  • 'screen_reader_text'
    (string) Screen reader text for the nav element. Default 'Posts navigation'.
  • 'aria_label'
    (string) ARIA label text for the nav element. Default 'Posts'.
  • 'class'
    (string) Custom class for the nav element. Default 'posts-navigation'.

Default value: array()


Top ↑

Return

(string) Markup for posts links.


Top ↑

Source

File: wp-includes/link-template.php

function get_the_posts_navigation( $args = array() ) {
	$navigation = '';

	// Don't print empty markup if there's only one page.
	if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
		// Make sure the nav element has an aria-label attribute: fallback to the screen reader text.
		if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
			$args['aria_label'] = $args['screen_reader_text'];
		}

		$args = wp_parse_args(
			$args,
			array(
				'prev_text'          => __( 'Older posts' ),
				'next_text'          => __( 'Newer posts' ),
				'screen_reader_text' => __( 'Posts navigation' ),
				'aria_label'         => __( 'Posts' ),
				'class'              => 'posts-navigation',
			)
		);

		$next_link = get_previous_posts_link( $args['next_text'] );
		$prev_link = get_next_posts_link( $args['prev_text'] );

		if ( $prev_link ) {
			$navigation .= '<div class="nav-previous">' . $prev_link . '</div>';
		}

		if ( $next_link ) {
			$navigation .= '<div class="nav-next">' . $next_link . '</div>';
		}

		$navigation = _navigation_markup( $navigation, $args['class'], $args['screen_reader_text'], $args['aria_label'] );
	}

	return $navigation;
}


Top ↑

Changelog

Changelog
VersionDescription
5.5.0Added the class parameter.
5.3.0Added the aria_label parameter.
4.1.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.

Show More
Show More