Automattic\WooCommerce\Blocks\BlockTypes

ProductImage::render_image()privateWC 1.0

Render Image.

Метод класса: ProductImage{}

Хуков нет.

Возвращает

Строку.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->render_image( $product, $attributes );
$product(\WC_Product) (обязательный)
Product object.
$attributes(массив) (обязательный)
Parsed attributes.

Код ProductImage::render_image() WC 8.7.0

private function render_image( $product, $attributes ) {
	$image_size = 'single' === $attributes['imageSizing'] ? 'woocommerce_single' : 'woocommerce_thumbnail';

	$image_style = 'max-width:none;';
	if ( ! empty( $attributes['height'] ) ) {
		$image_style .= sprintf( 'height:%s;', $attributes['height'] );
	}
	if ( ! empty( $attributes['width'] ) ) {
		$image_style .= sprintf( 'width:%s;', $attributes['width'] );
	}
	if ( ! empty( $attributes['scale'] ) ) {
		$image_style .= sprintf( 'object-fit:%s;', $attributes['scale'] );
	}
	if ( ! empty( $attributes['aspectRatio'] ) ) {
		$image_style .= sprintf( 'aspect-ratio:%s;', $attributes['aspectRatio'] );
	}

	return $product->get_image(
		$image_size,
		array(
			'alt'         => $product->get_title(),
			'data-testid' => 'product-image',
			'style'       => $image_style,
		)
	);
}