Multisite: Ensure the {$network_id}:notoptions array is set in cache in get_network_option().
Prior to this change, the `{$network_id}:notoptions` cache would only be fetched, but not set, unless the actual database lookup would be unsuccessful. This enhancement slightly improves performance by preventing unnecessary external object cache lookups if one is used.
Fixes #43506.
Built from https://develop.svn.wordpress.org/trunk@42833
git-svn-id: http://core.svn.wordpress.org/trunk@42663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -1247,7 +1247,7 @@ function get_network_option( $network_id, $option, $default = false ) {
|
||||
$notoptions_key = "$network_id:notoptions";
|
||||
$notoptions = wp_cache_get( $notoptions_key, 'site-options' );
|
||||
|
||||
if ( isset( $notoptions[ $option ] ) ) {
|
||||
if ( is_array( $notoptions ) && isset( $notoptions[ $option ] ) ) {
|
||||
|
||||
/**
|
||||
* Filters a specific default network option.
|
||||
@@ -1295,6 +1295,11 @@ function get_network_option( $network_id, $option, $default = false ) {
|
||||
}
|
||||
}
|
||||
|
||||
if ( ! is_array( $notoptions ) ) {
|
||||
$notoptions = array();
|
||||
wp_cache_set( $notoptions_key, $notoptions, 'site-options' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters the value of an existing network option.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user