From 576a4cba5e907de96485d0dd58ee5d07ac9a87bb Mon Sep 17 00:00:00 2001 From: Jeremy Felt Date: Tue, 20 Sep 2016 18:46:52 +0000 Subject: [PATCH] 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 --- src/wp-includes/functions.php | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php index 6e2fce9718..360a2db83e 100644 --- a/src/wp-includes/functions.php +++ b/src/wp-includes/functions.php @@ -4353,13 +4353,9 @@ function is_main_network( $network_id = null ) { * * @since 4.3.0 * - * @global wpdb $wpdb WordPress database abstraction object. - * * @return int The ID of the main network. */ function get_main_network_id() { - global $wpdb; - if ( ! is_multisite() ) { 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. $main_network_id = 1; } else { - $main_network_id = wp_cache_get( 'primary_network_id', 'site-options' ); - - 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' ); - } + $_networks = get_networks( array( 'fields' => 'ids', 'number' => 1 ) ); + $main_network_id = array_shift( $_networks ); } /**