wp-includes/blocks/navigation.php:378Recursively disables overlay menu for navigation blocks within overlay blocks.
$blocksarrayarray private static function disable_overlay_menu_for_nested_navigation_blocks( $blocks ) { if ( empty( $blocks ) || ! is_array( $blocks ) ) { return $blocks; } foreach ( $blocks as &$block ) { if ( ! isset( $block['blockName'] ) ) { continue; } // If this is a navigation block, disable its overlay menu. if ( 'core/navigation' === $block['blockName'] ) { if ( ! isset( $block['attrs'] ) ) { $block['attrs'] = array(); } $block['attrs']['overlayMenu'] = 'never'; // Mark this as a nested navigation within an overlay template part // so we can handle its rendering differently. $block['attrs']['_isWithinOverlayTemplatePart'] = true; } // Recursively process inner blocks. if ( ! empty( $block['innerBlocks'] ) && is_array( $block['innerBlocks'] ) ) { $block['innerBlocks'] = static::disable_overlay_menu_for_nested_navigation_blocks( $block['innerBlocks'] ); } } return $blocks; }Introduced in 6.5.0. Unchanged from 7.0.4 through 7.1.0.
Signature, return type and hooks compared across 2 parsed releases.
src/wp-includes/blocks/navigation.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.