WP_List_Table::set_pagination_args()protectedWP 3.1.0

Sets all the necessary pagination arguments.

Method of the class: WP_List_Table{}

No Hooks.

Return

null. Nothing (null).

Usage

// protected - for code of main (parent) or child class
$result = $this->set_pagination_args( $args );
$args(array|string) (required)
Array or string of arguments with information about the pagination.

Changelog

Since 3.1.0 Introduced.

WP_List_Table::set_pagination_args() code WP 6.6.2

protected function set_pagination_args( $args ) {
	$args = wp_parse_args(
		$args,
		array(
			'total_items' => 0,
			'total_pages' => 0,
			'per_page'    => 0,
		)
	);

	if ( ! $args['total_pages'] && $args['per_page'] > 0 ) {
		$args['total_pages'] = (int) ceil( $args['total_items'] / $args['per_page'] );
	}

	// Redirect if page number is invalid and headers are not already sent.
	if ( ! headers_sent() && ! wp_doing_ajax() && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
		wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
		exit;
	}

	$this->_pagination_args = $args;
}