BlockTemplateUtilsDuplicated::gutenberg_flatten_blocks()
Returns an array containing the references of the passed blocks and their inner blocks.
Метод класса: BlockTemplateUtilsDuplicated{}
Хуков нет.
Возвращает
Массив
. block references to the passed blocks and their inner blocks.
Использование
$result = BlockTemplateUtilsDuplicated::gutenberg_flatten_blocks( $blocks );
- $blocks(массив) (обязательный) (передается по ссылке — &)
- array of blocks.
Код BlockTemplateUtilsDuplicated::gutenberg_flatten_blocks() BlockTemplateUtilsDuplicated::gutenberg flatten blocks WC 9.6.1
public static function gutenberg_flatten_blocks( &$blocks ) { $all_blocks = array(); $queue = array(); foreach ( $blocks as &$block ) { $queue[] = &$block; } $queue_count = count( $queue ); while ( $queue_count > 0 ) { $block = &$queue[0]; array_shift( $queue ); $all_blocks[] = &$block; if ( ! empty( $block['innerBlocks'] ) ) { foreach ( $block['innerBlocks'] as &$inner_block ) { $queue[] = &$inner_block; } } $queue_count = count( $queue ); } return $all_blocks; }