Automattic\WooCommerce\Internal\ProductGallery

ProductMediaGallery::deduplicate_media_items │ private static │ WC 1.0

Remove duplicate media items by attachment ID.

Method of the class: ProductMediaGallery{}

No Hooks.

Returns

array.

Usage

$result = ProductMediaGallery::deduplicate_media_items( $media_gallery ): array;
$media_gallery(array) (required)
Media gallery items.

ProductMediaGallery::deduplicate_media_items() code WC 11.1.2

private static function deduplicate_media_items( array $media_gallery ): array {
	$seen_ids = array();
	$items    = array();

	foreach ( $media_gallery as $media_item ) {
		if ( ! is_array( $media_item ) ) {
			continue;
		}

		$attachment_id = isset( $media_item['id'] ) ? absint( $media_item['id'] ) : 0;

		if ( $attachment_id && isset( $seen_ids[ $attachment_id ] ) ) {
			continue;
		}

		if ( $attachment_id ) {
			$seen_ids[ $attachment_id ] = true;
		}

		$items[] = $media_item;
	}

	return $items;
}