Automattic\WooCommerce\Blocks\BlockTypes

ProductAverageRating::render()protectedWC 1.0

Include and render the block.

Method of the class: ProductAverageRating{}

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.
Default: empty array
$content(string) (required)
Block content.
Default: empty string
$block(WP_Block) (required)
Block instance.

ProductAverageRating::render() code WC 9.8.2

protected function render( $attributes, $content, $block ) {
	$post_id = $block->context['postId'];
	$product = wc_get_product( $post_id );

	if ( ! $product || ! $product->get_review_count() ) {
		return '';
	}

	$styles_and_classes            = StyleAttributesUtils::get_classes_and_styles_by_attributes( $attributes, array(), array( 'extra_classes' ) );
	$text_align_styles_and_classes = StyleAttributesUtils::get_text_align_class_and_style( $attributes );

	$wrapper_attributes = get_block_wrapper_attributes(
		array(
			'class' => implode(
				' ',
				array_filter(
					[
						'wc-block-components-product-average-rating-counter',
						esc_attr( $text_align_styles_and_classes['class'] ?? '' ),
						esc_attr( $styles_and_classes['classes'] ),
					]
				)
			),
			'style' => esc_attr( $styles_and_classes['styles'] ?? '' ),
		)
	);

	return sprintf(
		'<div %1$s>%2$s</div>',
		$wrapper_attributes,
		$product->get_average_rating()
	);
}