_excerpt_render_inner_blocks()WP 5.8.0

Renders inner blocks from the allowed wrapper blocks for generating an excerpt.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Returns

string. The rendered inner blocks.

Usage

_excerpt_render_inner_blocks( $parsed_block, $allowed_blocks );
$parsed_block(array) (required)
The parsed block.
$allowed_blocks(array) (required)
The list of allowed inner blocks.

Changelog

Since 5.8.0 Introduced.

_excerpt_render_inner_blocks() code WP 7.1

function _excerpt_render_inner_blocks( $parsed_block, $allowed_blocks ) {
	$output = '';

	foreach ( $parsed_block['innerBlocks'] as $inner_block ) {
		// Hide the block whenever the value is boolean false, regardless of the
		// block's current visibility support. This prevents blocks that previously
		// supported visibility from unintentionally appearing on the front end
		// after their support was disabled.
		if ( false === ( $inner_block['attrs']['metadata']['blockVisibility'] ?? null ) ) {
			continue;
		}

		if ( ! in_array( $inner_block['blockName'], $allowed_blocks, true ) ) {
			continue;
		}

		if ( empty( $inner_block['innerBlocks'] ) ) {
			$output .= render_block( $inner_block );
		} else {
			$output .= _excerpt_render_inner_blocks( $inner_block, $allowed_blocks );
		}
	}

	return $output;
}