Automattic\WooCommerce\EmailEditor\Integrations\Core\Renderer\Blocks

Image::add_image_size_when_missingprivateWC 1.0

When the width is not set, it's important to get it for the image to be displayed correctly

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

Хуков нет.

Возвращает

null. Ничего (null).

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

// private - только в коде основоного (родительского) класса
$result = $this->add_image_size_when_missing( $parsed_block, $image_url, $settings_controller ): array;
$parsed_block(массив) (обязательный)
Parsed block.
$image_url(строка) (обязательный)
Image URL.
$settings_controller(Settings_Controller) (обязательный)
Settings controller.

Код Image::add_image_size_when_missing() WC 10.0.2

private function add_image_size_when_missing( array $parsed_block, string $image_url, Settings_Controller $settings_controller ): array {
	if ( isset( $parsed_block['attrs']['width'] ) ) {
		return $parsed_block;
	}
	// Can't determine any width let's go with 100%.
	if ( ! isset( $parsed_block['email_attrs']['width'] ) ) {
		$parsed_block['attrs']['width'] = '100%';
	}
	$max_width                      = $settings_controller->parse_number_from_string_with_pixels( $parsed_block['email_attrs']['width'] );
	$image_size                     = wp_getimagesize( $image_url );
	$image_size                     = $image_size ? $image_size[0] : $max_width;
	$width                          = min( $image_size, $max_width );
	$parsed_block['attrs']['width'] = "{$width}px";
	return $parsed_block;
}