Multisite: Use get_networks()
in get_main_network_id()
.
The manual query for the main network ID can now be replaced with a cached `get_networks()` query. This allows us to eliminate the `primary_network_id` cache key entirely. Props spacedmonkey. Fixes #37218. git-svn-id: https://develop.svn.wordpress.org/trunk@38632 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
e0ef4132fe
commit
576a4cba5e
@ -4353,13 +4353,9 @@ function is_main_network( $network_id = null ) {
|
|||||||
*
|
*
|
||||||
* @since 4.3.0
|
* @since 4.3.0
|
||||||
*
|
*
|
||||||
* @global wpdb $wpdb WordPress database abstraction object.
|
|
||||||
*
|
|
||||||
* @return int The ID of the main network.
|
* @return int The ID of the main network.
|
||||||
*/
|
*/
|
||||||
function get_main_network_id() {
|
function get_main_network_id() {
|
||||||
global $wpdb;
|
|
||||||
|
|
||||||
if ( ! is_multisite() ) {
|
if ( ! is_multisite() ) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -4372,12 +4368,8 @@ function get_main_network_id() {
|
|||||||
// If the current network has an ID of 1, assume it is the main network.
|
// If the current network has an ID of 1, assume it is the main network.
|
||||||
$main_network_id = 1;
|
$main_network_id = 1;
|
||||||
} else {
|
} else {
|
||||||
$main_network_id = wp_cache_get( 'primary_network_id', 'site-options' );
|
$_networks = get_networks( array( 'fields' => 'ids', 'number' => 1 ) );
|
||||||
|
$main_network_id = array_shift( $_networks );
|
||||||
if ( false === $main_network_id ) {
|
|
||||||
$main_network_id = (int) $wpdb->get_var( "SELECT id FROM {$wpdb->site} ORDER BY id LIMIT 1" );
|
|
||||||
wp_cache_add( 'primary_network_id', $main_network_id, 'site-options' );
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user