get_the_post_navigation( array $args = array() )

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

Description Description

Parameters Parameters


(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'
    (array|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 nav element. Default 'Post navigation'.

Default value: array()

Top ↑

Return Return

(string) Markup for post links.

Top ↑

Source Source

File: wp-includes/link-template.php

function get_the_post_navigation( $args = array() ) {
	$args = wp_parse_args(
			'prev_text'          => '%title',
			'next_text'          => '%title',
			'in_same_term'       => false,
			'excluded_terms'     => '',
			'taxonomy'           => 'category',
			'screen_reader_text' => __( 'Post navigation' ),

	$navigation = '';

	$previous = get_previous_post_link(
		'<div class="nav-previous">%link</div>',

	$next = get_next_post_link(
		'<div class="nav-next">%link</div>',

	// Only add markup if there's somewhere to navigate to.
	if ( $previous || $next ) {
		$navigation = _navigation_markup( $previous . $next, 'post-navigation', $args['screen_reader_text'] );

	return $navigation;

Top ↑

Changelog Changelog

Version Description
4.4.0 Introduced the in_same_term, excluded_terms, and taxonomy arguments.
4.1.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.