Title: WP_Sitemaps_Registry
Published: August 11, 2020
Last modified: May 20, 2026

---

# class WP_Sitemaps_Registry {}

## In this article

 * [Methods](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/?output_format=md#methods)
 * [Source](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/?output_format=md#source)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/?output_format=md#changelog)

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

Class [WP_Sitemaps_Registry](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/).

## 󠀁[Methods](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/?output_format=md#methods)󠁿

| Name | Description | 
| [WP_Sitemaps_Registry::add_provider](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/add_provider/) | Adds a new sitemap provider. | 
| [WP_Sitemaps_Registry::get_provider](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/get_provider/) | Returns a single registered sitemap provider. | 
| [WP_Sitemaps_Registry::get_providers](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/get_providers/) | Returns all registered sitemap providers. |

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

    ```php
    #[AllowDynamicProperties]
    class WP_Sitemaps_Registry {
    	/**
    	 * Registered sitemap providers.
    	 *
    	 * @since 5.5.0
    	 *
    	 * @var WP_Sitemaps_Provider[] Array of registered sitemap providers.
    	 */
    	private $providers = array();

    	/**
    	 * Adds a new sitemap provider.
    	 *
    	 * @since 5.5.0
    	 *
    	 * @param string               $name     Name of the sitemap provider.
    	 * @param WP_Sitemaps_Provider $provider Instance of a WP_Sitemaps_Provider.
    	 * @return bool Whether the provider was added successfully.
    	 */
    	public function add_provider( $name, WP_Sitemaps_Provider $provider ) {
    		if ( isset( $this->providers[ $name ] ) ) {
    			return false;
    		}

    		/**
    		 * Filters the sitemap provider before it is added.
    		 *
    		 * @since 5.5.0
    		 *
    		 * @param WP_Sitemaps_Provider $provider Instance of a WP_Sitemaps_Provider.
    		 * @param string               $name     Name of the sitemap provider.
    		 */
    		$provider = apply_filters( 'wp_sitemaps_add_provider', $provider, $name );
    		if ( ! $provider instanceof WP_Sitemaps_Provider ) {
    			return false;
    		}

    		$this->providers[ $name ] = $provider;

    		return true;
    	}

    	/**
    	 * Returns a single registered sitemap provider.
    	 *
    	 * @since 5.5.0
    	 *
    	 * @param string $name Sitemap provider name.
    	 * @return WP_Sitemaps_Provider|null Sitemap provider if it exists, null otherwise.
    	 */
    	public function get_provider( $name ) {
    		if ( ! is_string( $name ) || ! isset( $this->providers[ $name ] ) ) {
    			return null;
    		}

    		return $this->providers[ $name ];
    	}

    	/**
    	 * Returns all registered sitemap providers.
    	 *
    	 * @since 5.5.0
    	 *
    	 * @return WP_Sitemaps_Provider[] Array of sitemap providers.
    	 */
    	public function get_providers() {
    		return $this->providers;
    	}
    }
    ```

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

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_sitemaps_registry/?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_registry%2F)
before being able to contribute a note or feedback.