WordPress Version: 5.4
/**
* Retrieves the post pages link navigation for previous and next pages.
*
* @since 2.8.0
*
* @global WP_Query $wp_query WordPress Query object.
*
* @param string|array $args {
* Optional. Arguments to build the post pages link navigation.
*
* @type string $sep Separator character. Default '—'.
* @type string $prelabel Link text to display for the previous page link.
* Default '« Previous Page'.
* @type string $nxtlabel Link text to display for the next page link.
* Default 'Next Page »'.
* }
* @return string The posts link navigation.
*/
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', '&$1', $args['sep']);
$return .= get_next_posts_link($args['nxtlabel']);
}
}
return $return;
}