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 10.7.0

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' ) ) {
			$variations = $product->get_children();
			if ( ! empty( $variations ) ) {
				_prime_post_caches( $variations );
			}
			foreach ( $variations as $variation_id ) {
				$variation = wc_get_product( $variation_id );
				if ( $variation ) {
					$variation_image_id = $variation->get_image_id();
					if ( ! empty( $variation_image_id ) && ! in_array( strval( $variation_image_id ), $variation_image_ids, true ) ) {
						$variation_image_ids[] = strval( $variation_image_id );
					}
				}
			}
		}
	} catch ( \Exception $e ) {
		// Log the error but continue execution.
		error_log( 'Error getting product variation image IDs: ' . $e->getMessage() );
	}

	return $variation_image_ids;
}