Automattic\WooCommerce\EmailEditor\Integrations\Core

Initializer::get_block_rendererprivateWC 1.0

Return an instance of Abstract_Block_Renderer by the block name.

Method of the class: Initializer{}

No Hooks.

Returns

Abstract_Block_Renderer.

Usage

// private - for code of main (parent) class only
$result = $this->get_block_renderer( $block_name ): Abstract_Block_Renderer;
$block_name(string) (required)
Block name.

Initializer::get_block_renderer() code WC 10.5.0

private function get_block_renderer( string $block_name ): Abstract_Block_Renderer {
	if ( isset( $this->renderers[ $block_name ] ) ) {
		return $this->renderers[ $block_name ];
	}

	switch ( $block_name ) {
		case 'core/heading':
		case 'core/paragraph':
		case 'core/site-title':
		case 'core/post-title':
			$renderer = new Text();
			break;
		case 'core/column':
			$renderer = new Column();
			break;
		case 'core/columns':
			$renderer = new Columns();
			break;
		case 'core/list':
			$renderer = new List_Block();
			break;
		case 'core/list-item':
			$renderer = new List_Item();
			break;
		case 'core/image':
			$renderer = new Image();
			break;
		case 'core/button':
			$renderer = new Button();
			break;
		case 'core/buttons':
			$renderer = new Buttons( new Flex_Layout_Renderer() );
			break;
		case 'core/group':
			$renderer = new Group();
			break;
		case 'core/quote':
			$renderer = new Quote();
			break;
		case 'core/social-link':
			$renderer = new Social_Link();
			break;
		case 'core/social-links':
			$renderer = new Social_Links();
			break;
		case 'core/table':
			$renderer = new Table();
			break;
		case 'core/gallery':
			$renderer = new Gallery();
			break;
		case 'core/media-text':
			$renderer = new Media_Text();
			break;
		case 'core/audio':
			$renderer = new Audio();
			break;
		case 'core/embed':
			$renderer = new Embed();
			break;
		case 'core/cover':
			$renderer = new Cover();
			break;
		case 'core/video':
			$renderer = new Video();
			break;
		default:
			$renderer = new Fallback();
			break;
	}

	$this->renderers[ $block_name ] = $renderer;
	return $renderer;
}