Automattic\WooCommerce\Blocks\BlockTypes

FeaturedItem::render()protectedWC 1.0

Render the featured item block.

Method of the class: FeaturedItem{}

No Hooks.

Return

String. Rendered block type output.

Usage

// protected - for code of main (parent) or child class
$result = $this->render( $attributes, $content, $block );
$attributes(array) (required)
Block attributes.
$content(string) (required)
Block content.
$block(WP_Block) (required)
Block instance.

FeaturedItem::render() code WC 9.4.2

protected function render( $attributes, $content, $block ) {
	$item = $this->get_item( $attributes );
	if ( ! $item ) {
		return '';
	}

	$attributes = wp_parse_args( $attributes, $this->defaults );

	$attributes['height'] = $attributes['height'] ?? wc_get_theme_support( 'featured_block::default_height', 500 );

	$image_url = esc_url( $this->get_image_url( $attributes, $item ) );

	$styles  = $this->get_styles( $attributes );
	$classes = $this->get_classes( $attributes );

	$output  = sprintf( '<div class="%1$s wp-block-woocommerce-%2$s" style="%3$s">', esc_attr( trim( $classes ) ), $this->block_name, esc_attr( $styles ) );
	$output .= sprintf( '<div class="wc-block-%s__wrapper">', $this->block_name );
	$output .= $this->render_overlay( $attributes );

	if ( ! $attributes['isRepeated'] && ! $attributes['hasParallax'] ) {
		$output .= $this->render_image( $attributes, $item, $image_url );
	} else {
		$output .= $this->render_bg_image( $attributes, $image_url );
	}

	$output .= $this->render_attributes( $item, $attributes );
	$output .= sprintf( '<div class="wc-block-%s__link">%s</div>', $this->block_name, $content );
	$output .= '</div>';
	$output .= '</div>';

	return $output;
}