WP_Sitemaps_Posts::get_max_num_pages( string $object_subtype =  ): int

In this article

Gets the max number of pages available for the object type.

Parameters

$object_subtypestringoptional
Post type name.

Default:''

Return

int Total number of pages.

Source

public function get_max_num_pages( $object_subtype = '' ) {
	if ( empty( $object_subtype ) ) {
		return 0;
	}

	// Restores the more descriptive, specific name for use within this method.
	$post_type = $object_subtype;

	/**
	 * Filters the max number of pages before it is generated.
	 *
	 * Passing a non-null value will short-circuit the generation,
	 * returning that value instead.
	 *
	 * @since 5.5.0
	 *
	 * @param int|null $max_num_pages The maximum number of pages. Default null.
	 * @param string   $post_type     Post type name.
	 */
	$max_num_pages = apply_filters( 'wp_sitemaps_posts_pre_max_num_pages', null, $post_type );

	if ( null !== $max_num_pages ) {
		return $max_num_pages;
	}

	$args                  = $this->get_posts_query_args( $post_type );
	$args['fields']        = 'ids';
	$args['no_found_rows'] = false;

	$query = new WP_Query( $args );

	$min_num_pages = ( 'page' === $post_type && 'posts' === get_option( 'show_on_front' ) ) ? 1 : 0;
	return isset( $query->max_num_pages ) ? max( $min_num_pages, $query->max_num_pages ) : 1;
}

Hooks

apply_filters( ‘wp_sitemaps_posts_pre_max_num_pages’, int|null $max_num_pages, string $post_type )

Filters the max number of pages before it is generated.

Changelog

VersionDescription
5.9.0Renamed $post_type to $object_subtype to match parent class for PHP 8 named parameter support.
5.5.0Introduced.

User Contributed Notes

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