Block editor: Cache global stylesheet by theme key.

Global styles are used in a few different contexts (front, editor, customizer, the theme directory). In the last two contexts, it's important that switching themes immediately refreshes the global stylesheet, to avoid situations in which the styles of the previous theme load with the new one. This was brought up at WordPress/gutenberg#34531 (customizer) and at meta.trac.wordpress.org/ticket/5818 (theme directory).
This commit makes sure the stylesheet is regenerated upon switching themes.

Props oandregal, dd32.
See #53175.
Built from https://develop.svn.wordpress.org/trunk@51819


git-svn-id: http://core.svn.wordpress.org/trunk@51426 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
jorgefilipecosta 2021-09-16 18:05:00 +00:00
parent 4fe5f325ad
commit 5932bb0f8e
2 changed files with 4 additions and 3 deletions

View File

@ -2300,8 +2300,9 @@ function wp_enqueue_global_styles() {
);
$stylesheet = null;
$transient_name = 'global_styles_' . get_stylesheet();
if ( $can_use_cache ) {
$cache = get_transient( 'global_styles' );
$cache = get_transient( $transient_name );
if ( $cache ) {
$stylesheet = $cache;
}
@ -2313,7 +2314,7 @@ function wp_enqueue_global_styles() {
$stylesheet = $theme_json->get_stylesheet();
if ( $can_use_cache ) {
set_transient( 'global_styles', $stylesheet, MINUTE_IN_SECONDS );
set_transient( $transient_name, $stylesheet, MINUTE_IN_SECONDS );
}
}

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '5.9-alpha-51818';
$wp_version = '5.9-alpha-51819';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.