Automattic\WooCommerce\Blocks\Utils

ProductGalleryUtils::get_variation_gallery_image_idspublic staticWC 1.0

Get all image IDs relevant to a variation gallery.

Method of the class: ProductGalleryUtils{}

No Hooks.

Returns

Array. Variation image IDs.

Usage

$result = ProductGalleryUtils::get_variation_gallery_image_ids( $variation );
$variation(WC_Product_Variation) (required)
The variation object.

ProductGalleryUtils::get_variation_gallery_image_ids() code WC 10.9.1

public static function get_variation_gallery_image_ids( \WC_Product_Variation $variation ) {
	$image_ids          = array();
	$variation_image_id = (int) $variation->get_image_id();
	$gallery_image_ids  = array_map( 'intval', $variation->get_gallery_image_ids() );

	if ( $variation_image_id ) {
		$image_ids[] = $variation_image_id;
	}

	if ( ! empty( $gallery_image_ids ) ) {
		$image_ids = array_merge( $image_ids, $gallery_image_ids );
	}

	// Filter out missing/invalid attachments to avoid rendering phantom
	// empty `<li>` wrappers that the visibility watch can't manage.
	$image_ids = array_filter(
		$image_ids,
		function ( $id ) {
			return $id > 0 && wp_attachment_is_image( $id );
		}
	);

	return array_values( array_unique( $image_ids ) );
}