mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-04 17:20:07 +00:00
Multisite: Clear incomplete objects from cache in get_blog_details() when found.
In [37657], the `blog_id` and `site_id` properties were changed to private. Any `WP_Site` objects previously stored in cache with public properties should now be considered invalid. We can detect this by checking for these missing properties and clearing the dirty cache if found. Props flixos90. Fixes #36717. git-svn-id: https://develop.svn.wordpress.org/trunk@37874 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -183,6 +183,10 @@ function get_blog_details( $fields = null, $get_all = true ) {
|
||||
wp_cache_delete( $blog_id . $all, 'blog-details' );
|
||||
unset($details);
|
||||
}
|
||||
} elseif ( ! $details->blog_id || ! $details->site_id ) {
|
||||
// Clear objects missing critical properties.
|
||||
wp_cache_delete( $blog_id . $all, 'blog-details' );
|
||||
unset($details);
|
||||
} else {
|
||||
return $details;
|
||||
}
|
||||
@@ -203,13 +207,17 @@ function get_blog_details( $fields = null, $get_all = true ) {
|
||||
wp_cache_delete( $blog_id, 'blog-details' );
|
||||
unset($details);
|
||||
}
|
||||
} elseif ( ! $details->blog_id || ! $details->site_id ) {
|
||||
// Clear objects missing critical properties.
|
||||
wp_cache_delete( $blog_id, 'blog-details' );
|
||||
unset($details);
|
||||
} else {
|
||||
return $details;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( empty($details) ) {
|
||||
if ( empty( $details ) || ! $details->blog_id || ! $details->site_id ) {
|
||||
$details = WP_Site::get_instance( $blog_id );
|
||||
if ( ! $details ) {
|
||||
// Set the full cache.
|
||||
|
||||
Reference in New Issue
Block a user