Yoast\WP\SEO\Helpers

Blocks_Helper::collect_blocks()privateYoast 1.0

Collects an array of blocks into an organised collection.

Метод класса: Blocks_Helper{}

Хуков нет.

Возвращает

Массив. The blocks in a block-type => WP_Block_Parser_Block[] format.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->collect_blocks( $blocks, $collection );
$blocks(WP_Block_Parser_Block[]) (обязательный)
The blocks.
$collection(массив) (обязательный)
The collection.

Код Blocks_Helper::collect_blocks() Yoast 22.4

private function collect_blocks( $blocks, $collection ) {
	foreach ( $blocks as $block ) {
		if ( empty( $block['blockName'] ) ) {
			continue;
		}

		if ( ! isset( $collection[ $block['blockName'] ] ) || ! \is_array( $collection[ $block['blockName'] ] ) ) {
			$collection[ $block['blockName'] ] = [];
		}
		$collection[ $block['blockName'] ][] = $block;

		if ( isset( $block['innerBlocks'] ) ) {
			$collection = $this->collect_blocks( $block['innerBlocks'], $collection );
		}
	}

	return $collection;
}