Automattic\WooCommerce\Blocks\BlockTypes

SingleProduct::extract_single_product_inner_block_names()protectedWC 1.0

Extract the inner block names for the Single Product block. This way it's possible to map all the inner blocks for a Single Product block and manipulate the data as needed.

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

Хуков нет.

Возвращает

Массив. Array containing all the inner block names of a Single Product block.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->extract_single_product_inner_block_names( $block, $result );
$block(массив) (обязательный)
The Single Product block or its inner blocks.
$result(массив) (передается по ссылке — &)
Array of inner block names.
По умолчанию: []

Код SingleProduct::extract_single_product_inner_block_names() WC 9.6.1

protected function extract_single_product_inner_block_names( $block, &$result = [] ) {
	if ( isset( $block['blockName'] ) ) {
		$result[] = $block['blockName'];
	}

	if ( 'woocommerce/product-template' === $block['blockName'] || 'core/post-template' === $block['blockName'] ) {
		return $result;
	}

	if ( isset( $block['innerBlocks'] ) ) {
		foreach ( $block['innerBlocks'] as $inner_block ) {
			$this->extract_single_product_inner_block_names( $inner_block, $result );
		}
	}
	return $result;
}