From 5f364e21d37f09c7d1db1de8fa31eb3cda62592d Mon Sep 17 00:00:00 2001 From: Garth Gutenberg Date: Thu, 26 Feb 2026 15:38:13 -0500 Subject: [PATCH] Fix recursive index propagation in process_blocks_data_recursive to correctly track block instance order across inner blocks --- includes/classes/RegisteredDataHandler.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/includes/classes/RegisteredDataHandler.php b/includes/classes/RegisteredDataHandler.php index 073c59b74..3308d2d9d 100644 --- a/includes/classes/RegisteredDataHandler.php +++ b/includes/classes/RegisteredDataHandler.php @@ -65,7 +65,7 @@ public function search_replace_block_inner_content( $block, $replacement_strings * @param array $extra_data Array of extra data provided by source for the registered data. * @param array $post_data Array of post data. * @param int $index Index of the extra data. - * @return array Array with 'blocks' (processed blocks) and 'modified' (bool). + * @return array Array with 'blocks' (processed blocks), 'modified' (bool), and 'index' (int). */ public function process_blocks_data_recursive( $blocks, $registered_data, $extra_data, $post_data, $index = 0 ) { $callback_fn = $registered_data['post_distribute_cb'] ?? null; @@ -79,6 +79,7 @@ public function process_blocks_data_recursive( $blocks, $registered_data, $extra return array( 'blocks' => $blocks, 'modified' => $modified, + 'index' => $index, ); } @@ -155,12 +156,14 @@ public function process_blocks_data_recursive( $blocks, $registered_data, $extra $block['innerBlocks'] = $inner_result['blocks']; $modified = true; } + $index = $inner_result['index']; } } return array( 'blocks' => $blocks, 'modified' => $modified, + 'index' => $index, ); }