get_the_posts_pagination( array $args = array() )

Retrieves a paginated navigation to next/previous set of posts, when applicable.


Description Description


Parameters Parameters

$args

(array) (Optional) Default pagination arguments, see paginate_links().

  • 'screen_reader_text'
    (string) Screen reader text for navigation element. Default 'Posts navigation'.
  • 'aria_label'
    (string) ARIA label text for the nav element. Default 'Posts'.

Default value: array()


Top ↑

Return Return

(string) Markup for pagination links.


Top ↑

Source Source

File: wp-includes/link-template.php

function get_the_posts_pagination( $args = array() ) {
	$navigation = '';

	// Don't print empty markup if there's only one page.
	if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
		// 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(
				'mid_size'           => 1,
				'prev_text'          => _x( 'Previous', 'previous set of posts' ),
				'next_text'          => _x( 'Next', 'next set of posts' ),
				'screen_reader_text' => __( 'Posts navigation' ),
				'aria_label'         => __( 'Posts' ),
			)
		);

		// Make sure we get a string back. Plain is the next best thing.
		if ( isset( $args['type'] ) && 'array' == $args['type'] ) {
			$args['type'] = 'plain';
		}

		// Set up paginated links.
		$links = paginate_links( $args );

		if ( $links ) {
			$navigation = _navigation_markup( $links, 'pagination', $args['screen_reader_text'], $args['aria_label'] );
		}
	}

	return $navigation;
}

Top ↑

Changelog Changelog

Changelog
Version Description
5.3.0 Added the aria_label parameter.
4.1.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 2 content
    Contributed by Nilo Velez

    $args param is passed to the paginate_links() function.

    Default values:

    <?php $args = array(
    	'base'               => '%_%',
    	'format'             => '?paged=%#%',
    	'total'              => 1,
    	'current'            => 0,
    	'show_all'           => false,
    	'end_size'           => 1,
    	'mid_size'           => 2,
    	'prev_next'          => true,
    	'prev_text'          => __('« Previous'),
    	'next_text'          => __('Next »'),
    	'type'               => 'plain',
    	'add_args'           => false,
    	'add_fragment'       => '',
    	'before_page_number' => '',
    	'after_page_number'  => ''
    ); ?>

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