Multisite: Use `to_array()` method on `WP_Site` objects in `wp_get_sites()`
When an object with private properties is cast directly to an array, those properties are no longer available with their original keys. Props @flixos90. See #36717. git-svn-id: https://develop.svn.wordpress.org/trunk@37667 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
56c98dd30a
commit
363533d9b3
|
@ -506,7 +506,8 @@ function wp_get_sites( $args = array() ) {
|
||||||
$results = array();
|
$results = array();
|
||||||
|
|
||||||
foreach ( $_sites as $_site ) {
|
foreach ( $_sites as $_site ) {
|
||||||
$results[] = (array) get_site( $_site );
|
$_site = get_site( $_site );
|
||||||
|
$results[] = $_site->to_array();
|
||||||
}
|
}
|
||||||
|
|
||||||
return $results;
|
return $results;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
if ( is_multisite() ) :
|
if ( is_multisite() ) :
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @group wp-get-site
|
||||||
* @group ms-site
|
* @group ms-site
|
||||||
* @group multisite
|
* @group multisite
|
||||||
*/
|
*/
|
||||||
|
@ -31,6 +32,32 @@ class Tests_Multisite_WP_Get_Sites extends WP_UnitTestCase {
|
||||||
wp_update_network_site_counts();
|
wp_update_network_site_counts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @expectedDeprecated wp_get_sites
|
||||||
|
*/
|
||||||
|
public function test_wp_get_sites_site_is_expected_array() {
|
||||||
|
|
||||||
|
$keys = array(
|
||||||
|
'blog_id',
|
||||||
|
'site_id',
|
||||||
|
'domain',
|
||||||
|
'path',
|
||||||
|
'registered',
|
||||||
|
'last_updated',
|
||||||
|
'public',
|
||||||
|
'archived',
|
||||||
|
'mature',
|
||||||
|
'spam',
|
||||||
|
'deleted',
|
||||||
|
'lang_id'
|
||||||
|
);
|
||||||
|
$sites = wp_get_sites();
|
||||||
|
|
||||||
|
$missing_keys = array_diff_key( array_flip( $keys ), $sites[0] );
|
||||||
|
|
||||||
|
$this->assertEquals( array(), $missing_keys, 'Keys are missing from site arrays.' );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @expectedDeprecated wp_get_sites
|
* @expectedDeprecated wp_get_sites
|
||||||
* @dataProvider data_wp_get_sites
|
* @dataProvider data_wp_get_sites
|
||||||
|
|
Loading…
Reference in New Issue