Automattic\WooCommerce\EmailEditor\Integrations\Core\Renderer\Blocks

Media_Text::render_contentprotectedWC 1.0

Renders the media-text block content using a direct table-based layout.

Method of the class: Media_Text{}

No Hooks.

Returns

String.

Usage

// protected - for code of main (parent) or child class
$result = $this->render_content( $block_content, $parsed_block, $rendering_context ): string;
$block_content(string) (required)
Block content.
$parsed_block(array) (required)
Parsed block.
$rendering_context(Rendering_Context) (required)
Rendering context.

Media_Text::render_content() code WC 10.5.0

protected function render_content( string $block_content, array $parsed_block, Rendering_Context $rendering_context ): string {
	$block_attrs  = $parsed_block['attrs'] ?? array();
	$inner_blocks = $parsed_block['innerBlocks'] ?? array();

	// Extract media content from innerHTML.
	$media_content = $this->extract_media_from_html( $parsed_block['innerHTML'] ?? $block_content );

	// Render all inner blocks content.
	$text_content = '';
	foreach ( $inner_blocks as $block ) {
		$text_content .= render_block( $block );
	}

	// If we don't have both media and text content, return empty.
	if ( empty( $media_content ) || empty( $text_content ) ) {
		return '';
	}

	// Build the email-friendly layout.
	return $this->build_email_layout( $media_content, $text_content, $block_attrs, $block_content, $rendering_context );
}