Automattic\WooCommerce\Blocks\Utils
ProductGalleryUtils::get_product_variation_image_ids
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() 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;
}