Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer

Content_Renderer::render_blockpublicWC 1.0

Renders block Translates block's HTML to HTML suitable for email clients. The method is intended as a callback for render_block

Method of the class: Content_Renderer{}

No Hooks.

Returns

String.

Usage

$Content_Renderer = new Content_Renderer();
$Content_Renderer->render_block( $block_content, $parsed_block ): string;
$block_content(string) (required)
Block content.
$parsed_block(array) (required)
Parsed block.

Content_Renderer::render_block() code WC 10.9.3

public function render_block( string $block_content, array $parsed_block ): string {
	$context = $this->get_rendering_context();

	$block_type = $this->block_type_registry->get_registered( $parsed_block['blockName'] );
	$result     = null;
	try {
		if ( $block_type && isset( $block_type->render_email_callback ) && is_callable( $block_type->render_email_callback ) ) {
			$result = call_user_func( $block_type->render_email_callback, $block_content, $parsed_block, $context );
		}
	} catch ( \Exception $error ) {
		$this->logger->error(
			'Error thrown while rendering block.',
			array(
				'exception'    => $error,
				'block_name'   => $parsed_block['blockName'],
				'parsed_block' => $parsed_block,
				'message'      => $error->getMessage(),
			)
		);
		// Returning the original content.
		return $block_content;
	}

	if ( null === $result ) {
		$result = $this->fallback_renderer->render( $block_content, $parsed_block, $context );
	}

	return $this->add_root_horizontal_padding( $result, $parsed_block['email_attrs'] ?? array() );
}