@@ -414,7 +414,10 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false
414
414
$ gap_sides = is_array ( $ gap_value ) ? array ( 'top ' , 'left ' ) : array ( 'top ' );
415
415
416
416
foreach ( $ gap_sides as $ gap_side ) {
417
- $ process_value = is_string ( $ gap_value ) ? $ gap_value : _wp_array_get ( $ gap_value , array ( $ gap_side ), $ fallback_gap_value );
417
+ $ process_value = $ gap_value ;
418
+ if ( is_array ( $ gap_value ) ) {
419
+ $ process_value = isset ( $ gap_value [ $ gap_side ] ) ? $ gap_value [ $ gap_side ] : $ fallback_gap_value ;
420
+ }
418
421
// Get spacing CSS variable from preset value if provided.
419
422
if ( is_string ( $ process_value ) && str_contains ( $ process_value , 'var:preset|spacing| ' ) ) {
420
423
$ index_to_splice = strrpos ( $ process_value , '| ' ) + 1 ;
@@ -495,7 +498,10 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false
495
498
$ gap_sides = is_array ( $ gap_value ) ? array ( 'top ' , 'left ' ) : array ( 'top ' );
496
499
497
500
foreach ( $ gap_sides as $ gap_side ) {
498
- $ process_value = is_string ( $ gap_value ) ? $ gap_value : _wp_array_get ( $ gap_value , array ( $ gap_side ), $ fallback_gap_value );
501
+ $ process_value = $ gap_value ;
502
+ if ( is_array ( $ gap_value ) ) {
503
+ $ process_value = isset ( $ gap_value [ $ gap_side ] ) ? $ gap_value [ $ gap_side ] : $ fallback_gap_value ;
504
+ }
499
505
// Get spacing CSS variable from preset value if provided.
500
506
if ( is_string ( $ process_value ) && str_contains ( $ process_value , 'var:preset|spacing| ' ) ) {
501
507
$ index_to_splice = strrpos ( $ process_value , '| ' ) + 1 ;
@@ -612,8 +618,15 @@ function wp_render_layout_support_flag( $block_content, $block ) {
612
618
}
613
619
614
620
$ global_settings = wp_get_global_settings ();
615
- $ fallback_layout = ! empty ( _wp_array_get ( $ block_type ->supports , array ( 'layout ' , 'default ' ), array () ) ) ? _wp_array_get ( $ block_type ->supports , array ( 'layout ' , 'default ' ), array () ) : _wp_array_get ( $ block_type ->supports , array ( '__experimentalLayout ' , 'default ' ), array () );
616
- $ used_layout = isset ( $ block ['attrs ' ]['layout ' ] ) ? $ block ['attrs ' ]['layout ' ] : $ fallback_layout ;
621
+ $ fallback_layout = isset ( $ block_type ->supports ['layout ' ]['default ' ] )
622
+ ? $ block_type ->supports ['layout ' ]['default ' ]
623
+ : array ();
624
+ if ( empty ( $ fallback_layout ) ) {
625
+ $ fallback_layout = isset ( $ block_type ->supports ['__experimentalLayout ' ]['default ' ] )
626
+ ? $ block_type ->supports ['__experimentalLayout ' ]['default ' ]
627
+ : array ();
628
+ }
629
+ $ used_layout = isset ( $ block ['attrs ' ]['layout ' ] ) ? $ block ['attrs ' ]['layout ' ] : $ fallback_layout ;
617
630
618
631
$ class_names = array ();
619
632
$ layout_definitions = wp_get_layout_definitions ();
@@ -624,7 +637,9 @@ function wp_render_layout_support_flag( $block_content, $block ) {
624
637
$ used_layout ['type ' ] = 'constrained ' ;
625
638
}
626
639
627
- $ root_padding_aware_alignments = _wp_array_get ( $ global_settings , array ( 'useRootPaddingAwareAlignments ' ), false );
640
+ $ root_padding_aware_alignments = isset ( $ global_settings ['useRootPaddingAwareAlignments ' ] )
641
+ ? $ global_settings ['useRootPaddingAwareAlignments ' ]
642
+ : false ;
628
643
629
644
if (
630
645
$ root_padding_aware_alignments &&
@@ -654,9 +669,13 @@ function wp_render_layout_support_flag( $block_content, $block ) {
654
669
655
670
// Get classname for layout type.
656
671
if ( isset ( $ used_layout ['type ' ] ) ) {
657
- $ layout_classname = _wp_array_get ( $ layout_definitions , array ( $ used_layout ['type ' ], 'className ' ), '' );
672
+ $ layout_classname = isset ( $ layout_definitions [ $ used_layout ['type ' ] ]['className ' ] )
673
+ ? $ layout_definitions [ $ used_layout ['type ' ] ]['className ' ]
674
+ : '' ;
658
675
} else {
659
- $ layout_classname = _wp_array_get ( $ layout_definitions , array ( 'default ' , 'className ' ), '' );
676
+ $ layout_classname = isset ( $ layout_definitions ['default ' ]['className ' ] )
677
+ ? $ layout_definitions ['default ' ]['className ' ]
678
+ : '' ;
660
679
}
661
680
662
681
if ( $ layout_classname && is_string ( $ layout_classname ) ) {
@@ -669,7 +688,9 @@ function wp_render_layout_support_flag( $block_content, $block ) {
669
688
*/
670
689
if ( ! current_theme_supports ( 'disable-layout-styles ' ) ) {
671
690
672
- $ gap_value = _wp_array_get ( $ block , array ( 'attrs ' , 'style ' , 'spacing ' , 'blockGap ' ) );
691
+ $ gap_value = isset ( $ block ['attrs ' ]['style ' ]['spacing ' ]['blockGap ' ] )
692
+ ? $ block ['attrs ' ]['style ' ]['spacing ' ]['blockGap ' ]
693
+ : null ;
673
694
/*
674
695
* Skip if gap value contains unsupported characters.
675
696
* Regex for CSS value borrowed from `safecss_filter_attr`, and used here
@@ -683,16 +704,22 @@ function wp_render_layout_support_flag( $block_content, $block ) {
683
704
$ gap_value = $ gap_value && preg_match ( '%[ \\\(&=}]|/\*% ' , $ gap_value ) ? null : $ gap_value ;
684
705
}
685
706
686
- $ fallback_gap_value = _wp_array_get ( $ block_type ->supports , array ( 'spacing ' , 'blockGap ' , '__experimentalDefault ' ), '0.5em ' );
687
- $ block_spacing = _wp_array_get ( $ block , array ( 'attrs ' , 'style ' , 'spacing ' ), null );
707
+ $ fallback_gap_value = isset ( $ block_type ->supports ['spacing ' ]['blockGap ' ]['__experimentalDefault ' ] )
708
+ ? $ block_type ->supports ['spacing ' ]['blockGap ' ]['__experimentalDefault ' ]
709
+ : '0.5em ' ;
710
+ $ block_spacing = isset ( $ block ['attrs ' ]['style ' ]['spacing ' ] )
711
+ ? $ block ['attrs ' ]['style ' ]['spacing ' ]
712
+ : null ;
688
713
689
714
/*
690
715
* If a block's block.json skips serialization for spacing or spacing.blockGap,
691
716
* don't apply the user-defined value to the styles.
692
717
*/
693
718
$ should_skip_gap_serialization = wp_should_skip_block_supports_serialization ( $ block_type , 'spacing ' , 'blockGap ' );
694
719
695
- $ block_gap = _wp_array_get ( $ global_settings , array ( 'spacing ' , 'blockGap ' ), null );
720
+ $ block_gap = isset ( $ global_settings ['spacing ' ]['blockGap ' ] )
721
+ ? $ global_settings ['spacing ' ]['blockGap ' ]
722
+ : null ;
696
723
$ has_block_gap_support = isset ( $ block_gap );
697
724
698
725
$ style = wp_get_layout_style (
0 commit comments