Automattic\WooCommerce\EmailEditor\Engine\Renderer\ContentRenderer
Content_Renderer::render_block
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() 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() );
}