Automattic\WooCommerce\Blocks\BlockTypes
ProductDetails::inject_parsed_accordion_blocks
Inject parsed accordion blocks.
Метод класса: ProductDetails{}
Хуков нет.
Возвращает
Массив. Parsed block.
Использование
// private - только в коде основоного (родительского) класса $result = $this->inject_parsed_accordion_blocks( $parsed_block, $accordion_blocks );
- $parsed_block(массив) (обязательный)
- Parsed block.
- $accordion_blocks(массив) (обязательный)
- Accordion blocks.
Код ProductDetails::inject_parsed_accordion_blocks() ProductDetails::inject parsed accordion blocks WC 10.9.1
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;
}