get_the_post_navigation() WordPress Function

The get_the_post_navigation() function is used to display a set of navigation links for a post. These links can be used to navigate between posts in a category or tag.

get_the_post_navigation( array $args = array() ) #

Retrieves the navigation to next/previous post, when applicable.


Parameters

$args

(array)(Optional)Default post navigation arguments.

  • 'prev_text'
    (string) Anchor text to display in the previous post link. Default '%title'.
  • 'next_text'
    (string) Anchor text to display in the next post link. Default '%title'.
  • 'in_same_term'
    (bool) Whether link should be in a same taxonomy term. Default false.
  • 'excluded_terms'
    (int[]|string) Array or comma-separated list of excluded term IDs.
  • 'taxonomy'
    (string) Taxonomy, if $in_same_term is true. Default 'category'.
  • 'screen_reader_text'
    (string) Screen reader text for the nav element. Default 'Post navigation'.
  • 'aria_label'
    (string) ARIA label text for the nav element. Default 'Posts'.
  • 'class'
    (string) Custom class for the nav element. Default 'post-navigation'.

Default value: array()


Top ↑

Return

(string) Markup for post links.


Top ↑

Source

File: wp-includes/link-template.php

function get_the_post_navigation( $args = array() ) {
	// 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'          => '%title',
			'next_text'          => '%title',
			'in_same_term'       => false,
			'excluded_terms'     => '',
			'taxonomy'           => 'category',
			'screen_reader_text' => __( 'Post navigation' ),
			'aria_label'         => __( 'Posts' ),
			'class'              => 'post-navigation',
		)
	);

	$navigation = '';

	$previous = get_previous_post_link(
		'<div class="nav-previous">%link</div>',
		$args['prev_text'],
		$args['in_same_term'],
		$args['excluded_terms'],
		$args['taxonomy']
	);

	$next = get_next_post_link(
		'<div class="nav-next">%link</div>',
		$args['next_text'],
		$args['in_same_term'],
		$args['excluded_terms'],
		$args['taxonomy']
	);

	// Only add markup if there's somewhere to navigate to.
	if ( $previous || $next ) {
		$navigation = _navigation_markup( $previous . $next, $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.4.0Introduced the in_same_term, excluded_terms, and taxonomy arguments.
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