From dbbc9bcf98787fd77fd920df84cc9bbc69974b0a Mon Sep 17 00:00:00 2001 From: Jonny Harris Date: Mon, 13 Mar 2023 16:30:09 +0000 Subject: [PATCH] Editor: Move variables to where used in wp_render_layout_support_flag. Improves the performance of wp_render_layout_support_flag() function by moving variables to where each is used. If a return happens before the variable is needed, this change avoids unnecessary processing and memory. Props spacedmonkey, hellofromTonya, mukesh27. Fixes #57815. git-svn-id: https://develop.svn.wordpress.org/trunk@55541 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/block-supports/layout.php | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/wp-includes/block-supports/layout.php b/src/wp-includes/block-supports/layout.php index bad9430136..22fe6d7b7a 100644 --- a/src/wp-includes/block-supports/layout.php +++ b/src/wp-includes/block-supports/layout.php @@ -319,8 +319,8 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false * @return string Filtered block content. */ function wp_render_layout_support_flag( $block_content, $block ) { - $block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] ); - $support_layout = block_has_support( $block_type, array( '__experimentalLayout' ), false ); + $block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] ); + $support_layout = block_has_support( $block_type, array( '__experimentalLayout' ), false ); $has_child_layout = isset( $block['attrs']['style']['layout']['selfStretch'] ); if ( ! $support_layout && ! $has_child_layout ) { @@ -369,14 +369,9 @@ function wp_render_layout_support_flag( $block_content, $block ) { return (string) $content; } - $global_settings = wp_get_global_settings(); - $block_gap = _wp_array_get( $global_settings, array( 'spacing', 'blockGap' ), null ); - $has_block_gap_support = isset( $block_gap ); - $global_layout_settings = _wp_array_get( $global_settings, array( 'layout' ), null ); - $root_padding_aware_alignments = _wp_array_get( $global_settings, array( 'useRootPaddingAwareAlignments' ), false ); - - $default_block_layout = _wp_array_get( $block_type->supports, array( '__experimentalLayout', 'default' ), array() ); - $used_layout = isset( $block['attrs']['layout'] ) ? $block['attrs']['layout'] : $default_block_layout; + $global_settings = wp_get_global_settings(); + $global_layout_settings = _wp_array_get( $global_settings, array( 'layout' ), null ); + $used_layout = isset( $block['attrs']['layout'] ) ? $block['attrs']['layout'] : _wp_array_get( $block_type->supports, array( '__experimentalLayout', 'default' ), array() ); if ( isset( $used_layout['inherit'] ) && $used_layout['inherit'] && ! $global_layout_settings ) { return $block_content; @@ -392,6 +387,8 @@ function wp_render_layout_support_flag( $block_content, $block ) { $used_layout['type'] = 'constrained'; } + $root_padding_aware_alignments = _wp_array_get( $global_settings, array( 'useRootPaddingAwareAlignments' ), false ); + if ( $root_padding_aware_alignments && isset( $used_layout['type'] ) && @@ -458,6 +455,9 @@ function wp_render_layout_support_flag( $block_content, $block ) { */ $should_skip_gap_serialization = wp_should_skip_block_supports_serialization( $block_type, 'spacing', 'blockGap' ); + $block_gap = _wp_array_get( $global_settings, array( 'spacing', 'blockGap' ), null ); + $has_block_gap_support = isset( $block_gap ); + $style = wp_get_layout_style( ".$container_class.$container_class", $used_layout,