Automattic\WooCommerce\Blocks\Utils

ProductGalleryUtils::get_product_variation_image_idspublic staticWC 1.0

Get the product variation image data.

Method of the class: ProductGalleryUtils{}

No Hooks.

Returns

array. An array of image data for the product variation images.

Usage

$result = ProductGalleryUtils::get_product_variation_image_ids( $product );
$product(WC_Product) (required)
The product object to retrieve the variation images for.

ProductGalleryUtils::get_product_variation_image_ids() code WC 11.0.1

public static function get_product_variation_image_ids( $product ) {
	$variation_image_ids = array();

	if ( ! $product instanceof \WC_Product ) {
		wc_doing_it_wrong( __FUNCTION__, __( 'Invalid product object.', 'woocommerce' ), '9.8.0' );
		return $variation_image_ids;
	}

	try {
		if ( $product->is_type( 'variable' ) ) {
			$variation_gallery_data = self::get_product_variation_gallery_data( $product );

			foreach ( $variation_gallery_data as $variation_data ) {
				$variation_image_ids = array_merge( $variation_image_ids, $variation_data['image_ids'] );
			}
		}
	} catch ( \Exception $e ) {
		// Log the error but continue execution.
		error_log( 'Error getting product variation image IDs: ' . $e->getMessage() );
	}

	$unique_int_ids = array_unique( array_map( 'intval', $variation_image_ids ) );

	return array_values( array_map( 'strval', $unique_int_ids ) );
}