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

In this article

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

Parameters

$argsstring|arrayoptional
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:array()

Return

string The posts link navigation.

Source

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

VersionDescription
2.8.0Introduced.

User Contributed Notes

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