Skip to content

Commit 42652a8

Browse files
committed
REST API: Add missing properties in block node arrays.
There have been a few places in WordPress where a method creates “an array representation simulating the output of parse_blocks”, but the array is missing one or more keys. The missing keys cause issue with downstream code, which either treats a block without, for example, `innerBlocks` as invalid input, or more commonly, assumes that `innerBlocks` is present and accesses it unconditionally. This can even lead to crashes. This patch adds the missing properties so that the code behaves as expected. Since the array values are empty by default, adding these missing keys does not present any intentional behavioral changes — only a safer default. Developed in: WordPress#10735 Discussed in: https://core.trac.wordpress.org/ticket/64505 Follow-up to [47360], [57354]. Props dlh, dmsnell, mukesh27, westonruter. Fixes #64505. git-svn-id: https://develop.svn.wordpress.org/trunk@62039 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 4e321a5 commit 42652a8

2 files changed

Lines changed: 2 additions & 0 deletions

File tree

src/wp-includes/blocks.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -971,6 +971,7 @@ function insert_hooked_blocks( &$parsed_anchor_block, $relative_position, $hooke
971971
'blockName' => $hooked_block_type,
972972
'attrs' => array(),
973973
'innerBlocks' => array(),
974+
'innerHTML' => '',
974975
'innerContent' => array(),
975976
);
976977

src/wp-includes/rest-api/endpoints/class-wp-rest-block-renderer-controller.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ public function get_item( $request ) {
181181
$block = array(
182182
'blockName' => $request['name'],
183183
'attrs' => $attributes,
184+
'innerBlocks' => array(),
184185
'innerHTML' => '',
185186
'innerContent' => array(),
186187
);

0 commit comments

Comments
 (0)