Automattic\WooCommerce\Internal\ProductGallery
ProductMediaGallery::deduplicate_media_items
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() 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;
}