| @@ -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 | |