Title: WP_Sitemaps::render_sitemaps
Published: August 11, 2020
Last modified: April 28, 2025

---

# WP_Sitemaps::render_sitemaps()

## In this article

 * [Source](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#wp--skip-link--target)

Renders sitemap templates based on rewrite rules.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#source)󠁿

    ```php
    public function render_sitemaps() {
    	global $wp_query;

    	$sitemap         = sanitize_text_field( get_query_var( 'sitemap' ) );
    	$object_subtype  = sanitize_text_field( get_query_var( 'sitemap-subtype' ) );
    	$stylesheet_type = sanitize_text_field( get_query_var( 'sitemap-stylesheet' ) );
    	$paged           = absint( get_query_var( 'paged' ) );

    	// Bail early if this isn't a sitemap or stylesheet route.
    	if ( ! ( $sitemap || $stylesheet_type ) ) {
    		return;
    	}

    	if ( ! $this->sitemaps_enabled() ) {
    		$wp_query->set_404();
    		status_header( 404 );
    		return;
    	}

    	// Render stylesheet if this is stylesheet route.
    	if ( $stylesheet_type ) {
    		$stylesheet = new WP_Sitemaps_Stylesheet();

    		$stylesheet->render_stylesheet( $stylesheet_type );
    		exit;
    	}

    	// Render the index.
    	if ( 'index' === $sitemap ) {
    		$sitemap_list = $this->index->get_sitemap_list();

    		$this->renderer->render_index( $sitemap_list );
    		exit;
    	}

    	$provider = $this->registry->get_provider( $sitemap );

    	if ( ! $provider ) {
    		return;
    	}

    	if ( empty( $paged ) ) {
    		$paged = 1;
    	}

    	$url_list = $provider->get_url_list( $paged, $object_subtype );

    	// Force a 404 and bail early if no URLs are present.
    	if ( empty( $url_list ) ) {
    		$wp_query->set_404();
    		status_header( 404 );
    		return;
    	}

    	$this->renderer->render_sitemap( $url_list );
    	exit;
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/sitemaps/class-wp-sitemaps.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/sitemaps/class-wp-sitemaps.php#L163)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/sitemaps/class-wp-sitemaps.php#L163-L219)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_Sitemaps::sitemaps_enabled()](https://developer.wordpress.org/reference/classes/wp_sitemaps/sitemaps_enabled/)`wp-includes/sitemaps/class-wp-sitemaps.php` |

Determines whether sitemaps are enabled or not.

  | 
| [WP_Query::set_404()](https://developer.wordpress.org/reference/classes/wp_query/set_404/)`wp-includes/class-wp-query.php` |

Sets the 404 property and saves whether query is feed.

  | 
| [get_query_var()](https://developer.wordpress.org/reference/functions/get_query_var/)`wp-includes/query.php` |

Retrieves the value of a query variable in the [WP_Query](https://developer.wordpress.org/reference/classes/wp_query/) class.

  | 
| [status_header()](https://developer.wordpress.org/reference/functions/status_header/)`wp-includes/functions.php` |

Sets HTTP status header.

  | 
| [sanitize_text_field()](https://developer.wordpress.org/reference/functions/sanitize_text_field/)`wp-includes/formatting.php` |

Sanitizes a string from user input or from the database.

  | 
| [absint()](https://developer.wordpress.org/reference/functions/absint/)`wp-includes/load.php` |

Converts a value to non-negative integer.

  |

[Show 2 more](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_sitemaps/render_sitemaps/?output_format=md#changelog)󠁿

| Version | Description | 
| [5.5.0](https://developer.wordpress.org/reference/since/5.5.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_sitemaps%2Frender_sitemaps%2F)
before being able to contribute a note or feedback.