Automattic\WooCommerce\Internal\VariationGallery
LegacyVariationGalleryCompatibility::maybe_read_legacy_gallery_image_ids
Use legacy variation gallery meta when the core gallery is empty and the variation has not been marked as core-managed.
Method of the class: LegacyVariationGalleryCompatibility{}
No Hooks.
Returns
Array
Usage
$LegacyVariationGalleryCompatibility = new LegacyVariationGalleryCompatibility(); $LegacyVariationGalleryCompatibility->maybe_read_legacy_gallery_image_ids( $gallery_image_ids, $variation ): array;
- $gallery_image_ids(array
) (required) - Gallery image IDs already resolved by core.
- $variation(WC_Product_Variation) (required)
- Variation instance.
LegacyVariationGalleryCompatibility::maybe_read_legacy_gallery_image_ids() LegacyVariationGalleryCompatibility::maybe read legacy gallery image ids code WC 10.9.1
public function maybe_read_legacy_gallery_image_ids( $gallery_image_ids, WC_Product_Variation $variation ): array {
// Core has variation images, just normalize.
if ( ! empty( $gallery_image_ids ) ) {
return array_values( wp_parse_id_list( $gallery_image_ids ) );
}
// Sentinel set: respect the explicit "no images" choice; legacy meta remains for BC.
if ( self::is_variation_id_core_managed( $variation->get_id() ) ) {
return array();
}
$legacy_gallery_image_ids = get_post_meta( $variation->get_id(), self::LEGACY_META_KEY, true );
// Nothing to fall back to.
if ( empty( $legacy_gallery_image_ids ) ) {
return array();
}
// Pre-migration variation: fall back to the legacy extension's meta.
return array_values( wp_parse_id_list( $legacy_gallery_image_ids ) );
}