Automattic\WooCommerce\Internal\CLI\Migrator\Platforms\Shopify
ShopifyMapper::map_product_images
Maps product images from Shopify media data.
Метод класса: ShopifyMapper{}
Хуков нет.
Возвращает
array. Product images data.
Использование
// private - только в коде основоного (родительского) класса $result = $this->map_product_images( $shopify_product ): array;
- $shopify_product(объект) (обязательный)
- The Shopify product data.
Код ShopifyMapper::map_product_images() ShopifyMapper::map product images WC 11.1.1
private function map_product_images( object $shopify_product ): array {
$images_data = array();
$featured_media_id = null;
if ( ! empty( $shopify_product->featuredMedia ) && is_object( $shopify_product->featuredMedia ) && ! empty( $shopify_product->featuredMedia->id ) ) { // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase -- GraphQL uses camelCase.
$featured_media_id = $shopify_product->featuredMedia->id; // phpcs:ignore WordPress.NamingConventions.ValidVariableName.UsedPropertyNotSnakeCase -- GraphQL uses camelCase.
}
if ( ! empty( $shopify_product->media->edges ) ) {
foreach ( $shopify_product->media->edges as $media_edge ) {
$media_node = $media_edge->node;
if ( property_exists( $media_node, 'image' ) && is_object( $media_node->image ) && ! empty( $media_node->id ) && ! empty( $media_node->image->url ) ) {
$images_data[] = array(
'original_id' => $media_node->id,
'src' => $media_node->image->url,
'alt' => $media_node->image->altText ?? null,
'is_featured' => ( $media_node->id === $featured_media_id ),
);
}
}
}
return $images_data;
}