get_posts_nav_link( string|array $args = array() )

Retrieves the post pages link navigation for previous and next pages.

Parameters

$args

(string|array) (Optional) Arguments to build the post pages link navigation.

  • 'sep'
    (string) Separator character. Default '—'.
  • 'prelabel'
    (string) Link text to display for the previous page link. Default '« Previous Page'.
  • 'nxtlabel'
    (string) Link text to display for the next page link. Default 'Next Page »'.

Default value: array()

Return

(string) The posts link navigation.

Source

File: wp-includes/link-template.php

function get_posts_nav_link( $args = array() ) {
	global $wp_query;

	$return = '';

	if ( ! is_singular() ) {
		$defaults = array(
			'sep'      => ' — ',
			'prelabel' => __( '« Previous Page' ),
			'nxtlabel' => __( 'Next Page »' ),
		);
		$args     = wp_parse_args( $args, $defaults );

		$max_num_pages = $wp_query->max_num_pages;
		$paged         = get_query_var( 'paged' );

		// Only have sep if there's both prev and next results.
		if ( $paged < 2 || $paged >= $max_num_pages ) {
			$args['sep'] = '';
		}

		if ( $max_num_pages > 1 ) {
			$return  = get_previous_posts_link( $args['prelabel'] );
			$return .= preg_replace( '/&([^#])(?![a-z]{1,8};)/i', '&#038;$1', $args['sep'] );
			$return .= get_next_posts_link( $args['nxtlabel'] );
		}
	}
	return $return;

}

Changelog

Version Description
2.8.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/functions/get_posts_nav_link