Automattic\WooCommerce\Blocks\BlockTypes
ProductDetails::inject_parsed_accordion_blocks
Inject parsed accordion blocks.
Method of the class: ProductDetails{}
No Hooks.
Returns
Array. Parsed block.
Usage
// private - for code of main (parent) class only $result = $this->inject_parsed_accordion_blocks( $parsed_block, $accordion_blocks );
- $parsed_block(array) (required)
- Parsed block.
- $accordion_blocks(array) (required)
- Accordion blocks.
ProductDetails::inject_parsed_accordion_blocks() ProductDetails::inject parsed accordion blocks code WC 10.7.0
private function inject_parsed_accordion_blocks( $parsed_block, $accordion_blocks ) {
if ( 'core/accordion' === $parsed_block['blockName'] || 'woocommerce/accordion-group' === $parsed_block['blockName'] ) {
$parsed_block['innerBlocks'] = array_merge( $parsed_block['innerBlocks'], $accordion_blocks );
$parsed_block['innerBlocks'] = array_values( array_filter( $parsed_block['innerBlocks'] ) );
$opening_tag = reset( $parsed_block['innerContent'] );
$closing_tag = end( $parsed_block['innerContent'] );
$parsed_block['innerContent'] = array_merge(
array( $opening_tag ),
array_fill( 0, count( $parsed_block['innerBlocks'] ), null ),
array( $closing_tag )
);
return $parsed_block;
}
foreach ( $parsed_block['innerBlocks'] as $key => $inner_block ) {
$parsed_block['innerBlocks'][ $key ] = $this->inject_parsed_accordion_blocks( $inner_block, $accordion_blocks );
}
return $parsed_block;
}