WP_Sitemaps::register_rewrites()publicWP 5.5.0

Registers sitemap rewrite tags and routing rules.

Method of the class: WP_Sitemaps{}

No Hooks.

Return

null. Nothing (null).

Usage

$WP_Sitemaps = new WP_Sitemaps();
$WP_Sitemaps->register_rewrites();

Changelog

Since 5.5.0 Introduced.

WP_Sitemaps::register_rewrites() code WP 6.5.2

public function register_rewrites() {
	// Add rewrite tags.
	add_rewrite_tag( '%sitemap%', '([^?]+)' );
	add_rewrite_tag( '%sitemap-subtype%', '([^?]+)' );

	// Register index route.
	add_rewrite_rule( '^wp-sitemap\.xml$', 'index.php?sitemap=index', 'top' );

	// Register rewrites for the XSL stylesheet.
	add_rewrite_tag( '%sitemap-stylesheet%', '([^?]+)' );
	add_rewrite_rule( '^wp-sitemap\.xsl$', 'index.php?sitemap-stylesheet=sitemap', 'top' );
	add_rewrite_rule( '^wp-sitemap-index\.xsl$', 'index.php?sitemap-stylesheet=index', 'top' );

	// Register routes for providers.
	add_rewrite_rule(
		'^wp-sitemap-([a-z]+?)-([a-z\d_-]+?)-(\d+?)\.xml$',
		'index.php?sitemap=$matches[1]&sitemap-subtype=$matches[2]&paged=$matches[3]',
		'top'
	);
	add_rewrite_rule(
		'^wp-sitemap-([a-z]+?)-(\d+?)\.xml$',
		'index.php?sitemap=$matches[1]&paged=$matches[2]',
		'top'
	);
}