Automattic\WooCommerce\Blocks\Utils
BlockTemplateUtils::flatten_blocks
Returns an array containing the references of the passed blocks and their inner blocks.
Метод класса: BlockTemplateUtils{}
Хуков нет.
Возвращает
Массив. block references to the passed blocks and their inner blocks.
Использование
$result = BlockTemplateUtils::flatten_blocks( $blocks );
- $blocks(массив) (обязательный) (передается по ссылке — &)
- array of blocks.
Код BlockTemplateUtils::flatten_blocks() BlockTemplateUtils::flatten blocks WC 10.9.4
public static function 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;
}