Sitemaps: Rename 'sitemap' to 'provider' in WP_Sitemaps_Registry class.

This class is for registering sitemap providers, not individual sitemaps.

Props swissspidy.
Fixes #50724.

git-svn-id: https://develop.svn.wordpress.org/trunk@48536 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Sergey Biryukov 2020-07-21 15:27:48 +00:00
parent 5ffe591bec
commit 383540b7c4
6 changed files with 34 additions and 34 deletions

View File

@ -58,7 +58,7 @@ function wp_get_sitemaps() {
return array(); return array();
} }
return $sitemaps->registry->get_sitemaps(); return $sitemaps->registry->get_providers();
} }
/** /**
@ -77,7 +77,7 @@ function wp_register_sitemap( $name, WP_Sitemaps_Provider $provider ) {
return false; return false;
} }
return $sitemaps->registry->add_sitemap( $name, $provider ); return $sitemaps->registry->add_provider( $name, $provider );
} }
/** /**

View File

@ -54,7 +54,7 @@ class WP_Sitemaps_Index {
public function get_sitemap_list() { public function get_sitemap_list() {
$sitemaps = array(); $sitemaps = array();
$providers = $this->registry->get_sitemaps(); $providers = $this->registry->get_providers();
/* @var WP_Sitemaps_Provider $provider */ /* @var WP_Sitemaps_Provider $provider */
foreach ( $providers as $name => $provider ) { foreach ( $providers as $name => $provider ) {
$sitemap_entries = $provider->get_sitemap_entries(); $sitemap_entries = $provider->get_sitemap_entries();

View File

@ -2,7 +2,7 @@
/** /**
* Sitemaps: WP_Sitemaps_Registry class * Sitemaps: WP_Sitemaps_Registry class
* *
* Handles registering sitemaps. * Handles registering sitemap providers.
* *
* @package WordPress * @package WordPress
* @subpackage Sitemaps * @subpackage Sitemaps
@ -16,47 +16,47 @@
*/ */
class WP_Sitemaps_Registry { class WP_Sitemaps_Registry {
/** /**
* Registered sitemaps. * Registered sitemap providers.
* *
* @since 5.5.0 * @since 5.5.0
* *
* @var WP_Sitemaps_Provider[] Array of registered sitemaps. * @var WP_Sitemaps_Provider[] Array of registered sitemap providers.
*/ */
private $sitemaps = array(); private $providers = array();
/** /**
* Adds a sitemap with route to the registry. * Adds a sitemap with route to the registry.
* *
* @since 5.5.0 * @since 5.5.0
* *
* @param string $name Name of the sitemap. * @param string $name Name of the sitemap provider.
* @param WP_Sitemaps_Provider $provider Instance of a WP_Sitemaps_Provider. * @param WP_Sitemaps_Provider $provider Instance of a WP_Sitemaps_Provider.
* @return bool True if the sitemap was added, false if it is already registered. * @return bool True if the provider was added, false if it is already registered.
*/ */
public function add_sitemap( $name, WP_Sitemaps_Provider $provider ) { public function add_provider( $name, WP_Sitemaps_Provider $provider ) {
if ( isset( $this->sitemaps[ $name ] ) ) { if ( isset( $this->providers[ $name ] ) ) {
return false; return false;
} }
$this->sitemaps[ $name ] = $provider; $this->providers[ $name ] = $provider;
return true; return true;
} }
/** /**
* Returns a single registered sitemaps provider. * Returns a single registered sitemap provider.
* *
* @since 5.5.0 * @since 5.5.0
* *
* @param string $name Sitemap provider name. * @param string $name Sitemap provider name.
* @return WP_Sitemaps_Provider|null Sitemaps provider if it exists, null otherwise. * @return WP_Sitemaps_Provider|null Sitemaps provider if it exists, null otherwise.
*/ */
public function get_sitemap( $name ) { public function get_provider( $name ) {
if ( ! isset( $this->sitemaps[ $name ] ) ) { if ( ! isset( $this->providers[ $name ] ) ) {
return null; return null;
} }
return $this->sitemaps[ $name ]; return $this->providers[ $name ];
} }
/** /**
@ -66,7 +66,7 @@ class WP_Sitemaps_Registry {
* *
* @return WP_Sitemaps_Provider[] Array of sitemap providers. * @return WP_Sitemaps_Provider[] Array of sitemap providers.
*/ */
public function get_sitemaps() { public function get_providers() {
return $this->sitemaps; return $this->providers;
} }
} }

View File

@ -135,7 +135,7 @@ class WP_Sitemaps {
// Register each supported provider. // Register each supported provider.
/* @var WP_Sitemaps_Provider $provider */ /* @var WP_Sitemaps_Provider $provider */
foreach ( $providers as $name => $provider ) { foreach ( $providers as $name => $provider ) {
$this->registry->add_sitemap( $name, $provider ); $this->registry->add_provider( $name, $provider );
} }
} }
@ -212,7 +212,7 @@ class WP_Sitemaps {
exit; exit;
} }
$provider = $this->registry->get_sitemap( $sitemap ); $provider = $this->registry->get_provider( $sitemap );
if ( ! $provider ) { if ( ! $provider ) {
return; return;

View File

@ -13,8 +13,8 @@ class Test_WP_Sitemaps_Index extends WP_UnitTestCase {
* There are 2 providers registered. * There are 2 providers registered.
* Hence, 3*4*2=24. * Hence, 3*4*2=24.
*/ */
$registry->add_sitemap( 'foo', new WP_Sitemaps_Test_Provider( 'foo' ) ); $registry->add_provider( 'foo', new WP_Sitemaps_Test_Provider( 'foo' ) );
$registry->add_sitemap( 'bar', new WP_Sitemaps_Test_Provider( 'bar' ) ); $registry->add_provider( 'bar', new WP_Sitemaps_Test_Provider( 'bar' ) );
$sitemap_index = new WP_Sitemaps_Index( $registry ); $sitemap_index = new WP_Sitemaps_Index( $registry );
$this->assertCount( 24, $sitemap_index->get_sitemap_list() ); $this->assertCount( 24, $sitemap_index->get_sitemap_list() );
@ -29,12 +29,12 @@ class Test_WP_Sitemaps_Index extends WP_UnitTestCase {
$registry = new WP_Sitemaps_Registry(); $registry = new WP_Sitemaps_Registry();
// add 3 providers, which combined produce more than the maximum 50000 sitemaps in the index. // add 3 providers, which combined produce more than the maximum 50000 sitemaps in the index.
$registry->add_sitemap( 'provider_1', new WP_Sitemaps_Large_Test_Provider( 25000 ) ); $registry->add_provider( 'provider_1', new WP_Sitemaps_Large_Test_Provider( 25000 ) );
$registry->add_sitemap( 'provider_2', new WP_Sitemaps_Large_Test_Provider( 25000 ) ); $registry->add_provider( 'provider_2', new WP_Sitemaps_Large_Test_Provider( 25000 ) );
$registry->add_sitemap( 'provider_3', new WP_Sitemaps_Large_Test_Provider( 25000 ) ); $registry->add_provider( 'provider_3', new WP_Sitemaps_Large_Test_Provider( 25000 ) );
$count = 0; $count = 0;
foreach ( $registry->get_sitemaps() as $provider ) { foreach ( $registry->get_providers() as $provider ) {
$count += count( $provider->get_url_list( 1 ) ); $count += count( $provider->get_url_list( 1 ) );
} }
$this->assertGreaterThan( 50000, $count ); $this->assertGreaterThan( 50000, $count );
@ -46,7 +46,7 @@ class Test_WP_Sitemaps_Index extends WP_UnitTestCase {
public function test_get_sitemap_list_no_entries() { public function test_get_sitemap_list_no_entries() {
$registry = new WP_Sitemaps_Registry(); $registry = new WP_Sitemaps_Registry();
$registry->add_sitemap( 'foo', new WP_Sitemaps_Empty_Test_Provider( 'foo' ) ); $registry->add_provider( 'foo', new WP_Sitemaps_Empty_Test_Provider( 'foo' ) );
$sitemap_index = new WP_Sitemaps_Index( $registry ); $sitemap_index = new WP_Sitemaps_Index( $registry );
$this->assertCount( 0, $sitemap_index->get_sitemap_list() ); $this->assertCount( 0, $sitemap_index->get_sitemap_list() );

View File

@ -4,26 +4,26 @@
* @group sitemaps * @group sitemaps
*/ */
class Test_WP_Sitemaps_Registry extends WP_UnitTestCase { class Test_WP_Sitemaps_Registry extends WP_UnitTestCase {
public function test_add_sitemap() { public function test_add_provider() {
$provider = new WP_Sitemaps_Test_Provider(); $provider = new WP_Sitemaps_Test_Provider();
$registry = new WP_Sitemaps_Registry(); $registry = new WP_Sitemaps_Registry();
$actual = $registry->add_sitemap( 'foo', $provider ); $actual = $registry->add_provider( 'foo', $provider );
$sitemaps = $registry->get_sitemaps(); $sitemaps = $registry->get_providers();
$this->assertTrue( $actual ); $this->assertTrue( $actual );
$this->assertCount( 1, $sitemaps ); $this->assertCount( 1, $sitemaps );
$this->assertSame( $sitemaps['foo'], $provider, 'Can not confirm sitemap registration is working.' ); $this->assertSame( $sitemaps['foo'], $provider, 'Can not confirm sitemap registration is working.' );
} }
public function test_add_sitemap_prevent_duplicates() { public function test_add_provider_prevent_duplicates() {
$provider1 = new WP_Sitemaps_Test_Provider(); $provider1 = new WP_Sitemaps_Test_Provider();
$provider2 = new WP_Sitemaps_Test_Provider(); $provider2 = new WP_Sitemaps_Test_Provider();
$registry = new WP_Sitemaps_Registry(); $registry = new WP_Sitemaps_Registry();
$actual1 = $registry->add_sitemap( 'foo', $provider1 ); $actual1 = $registry->add_provider( 'foo', $provider1 );
$actual2 = $registry->add_sitemap( 'foo', $provider2 ); $actual2 = $registry->add_provider( 'foo', $provider2 );
$sitemaps = $registry->get_sitemaps(); $sitemaps = $registry->get_providers();
$this->assertTrue( $actual1 ); $this->assertTrue( $actual1 );
$this->assertFalse( $actual2 ); $this->assertFalse( $actual2 );