Automattic\WooCommerce\Internal\CLI\Migrator\Platforms\Webflow

WebflowMapper::normalize_image_objectprivateWC 1.0

Normalize a Webflow image object into our images-array entry, or return null if unusable.

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

Хуков нет.

Возвращает

Массив{original_id:Строку,src:Строку,alt:?Строку,is_featured:true|false}|null.

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

// private - только в коде основоного (родительского) класса
$result = $this->normalize_image_object( $img ): ?array;
$img(разное) (обязательный)
Raw Webflow image entry.

Код WebflowMapper::normalize_image_object() WC 11.0.1

private function normalize_image_object( $img ): ?array {
	if ( ! is_object( $img ) ) {
		return null;
	}

	$url = isset( $img->url ) ? (string) $img->url : '';
	if ( '' === $url ) {
		return null;
	}

	$alt = isset( $img->alt ) ? (string) $img->alt : null;

	$original_id = '';
	if ( isset( $img->fileId ) && '' !== (string) $img->fileId ) { // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase -- Webflow API uses camelCase.
		$original_id = (string) $img->fileId; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase -- Webflow API uses camelCase.
	} elseif ( isset( $img->id ) && '' !== (string) $img->id ) {
		$original_id = (string) $img->id;
	} else {
		$original_id = 'webflow-' . md5( $url );
	}

	return array(
		'original_id' => $original_id,
		'src'         => $url,
		'alt'         => $alt,
		'is_featured' => false,
	);
}