PluginProbe
Gutenberg / 24.1.0
Gutenberg v24.1.0
24.1.0 24.0.0 23.9.1 23.9.0 23.8.0 23.7.2 23.7.1 23.7.0 23.6.1 23.6.2 23.6.0 23.5.3 23.5.2 23.5.1 23.5.0 23.4.0 23.3.2 23.3.1 23.3.0 23.2.0 23.2.1 23.2.2 23.1.1 23.1.0 23.0.1 All 404 releases
← All changes | lib/block-supports/states.php +14 -4 23.9.1 → 24.1.0 View file →
@@ -526,8 +526,22 @@
526 526 return $block_content;
527 527 }
528 528
529 529 $block_name = $block['blockName'];
530 +
531 + /*
532 + * Every CSS rule this function can produce is keyed off the block's `style`
533 + * attribute. Without it there is nothing to generate, so bail before doing
534 + * any of the lookups below — this runs for every block on every request.
535 + */
536 + $raw_style = $block['attrs']['style'] ?? array();
537 + if ( empty( $raw_style ) || ! is_array( $raw_style ) ) {
538 + return $block_content;
539 + }
540 +
541 + // Keep the existing block registry lookup here.
542 + $style = gutenberg_resolve_style_state_aliases( $raw_style, $block_name );
543 +
530 544 $block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block_name );
531 545 if ( ! $block_type ) {
532 546 return $block_content;
533 547 }
@@ -532,12 +546,8 @@
532 546 return $block_content;
533 547 }
534 548
535 549 $supported_pseudo_states = WP_Theme_JSON_Gutenberg::VALID_BLOCK_PSEUDO_SELECTORS[ $block_name ] ?? array();
536 - $style = gutenberg_resolve_style_state_aliases(
537 - $block['attrs']['style'] ?? array(),
538 - $block_name
539 - );
540 550 $css_rules = array();
541 551 $viewport_settings = gutenberg_get_global_settings( array( 'viewport' ) );
542 552 $responsive_media_queries = WP_Theme_JSON_Gutenberg::get_viewport_media_queries( $viewport_settings );
543 553