Automattic\WooCommerce\Internal\Utilities
BlocksUtil::flatten_blocks
Return blocks with their inner blocks flattened.
Method of the class: BlocksUtil{}
No Hooks.
Returns
Array. All blocks.
Usage
$result = BlocksUtil::flatten_blocks( $blocks );
- $blocks(array) (required)
- Array of blocks as returned by parse_blocks().
BlocksUtil::flatten_blocks() BlocksUtil::flatten blocks code WC 10.9.1
public static function flatten_blocks( $blocks ) {
return array_reduce(
$blocks,
function ( $carry, $block ) {
array_push( $carry, array_diff_key( $block, array_flip( array( 'innerBlocks' ) ) ) );
if ( isset( $block['innerBlocks'] ) ) {
$inner_blocks = self::flatten_blocks( $block['innerBlocks'] );
return array_merge( $carry, $inner_blocks );
}
return $carry;
},
array()
);
}