ProductGalleryUtils
in package
Utility methods used for the Product Gallery block.
Table of Contents
- get_all_image_ids() : array<string|int, mixed>
- Get all image IDs for the product.
- get_all_media_items() : array<string|int, array<string|int, mixed>>
- Get all media items for the product gallery.
- get_image_src_data() : array<string|int, mixed>
- Get the image source data.
- get_media_ids() : array<string|int, int>
- Get product gallery media IDs.
- get_media_src_data() : array<string|int, array<string|int, mixed>>
- Get media source data.
- get_product_gallery_image_count() : int
- Get the product gallery image count.
- get_product_gallery_image_data() : array<string|int, mixed>
- Get the product gallery image data.
- get_product_gallery_image_ids() : array<string|int, mixed>
- Get the product gallery image IDs.
- get_product_gallery_media_count() : int
- Get the product gallery media count.
- get_product_gallery_media_data() : array<string|int, array<string|int, mixed>>
- Get the product gallery media data.
- get_product_variation_gallery_data() : array<int, array<string, mixed>>
- Get variation gallery data keyed by variation ID.
- get_product_variation_image_ids() : array<string|int, mixed>
- Get the product variation image data.
- get_variation_gallery_image_ids() : array<string|int, int>
- Get all image IDs relevant to a variation gallery.
- get_video_attributes() : array<string|int, mixed>
- Get base attributes for product gallery videos.
- get_video_html() : string
- Get product gallery video HTML from attributes.
- build_variation_gallery_entry() : array<string, mixed>|null
- Build the gallery payload for a single variation, or null when the post isn't a real variation.
- get_image_data() : array<string|int, mixed>
- Get source data for one image.
- get_product_gallery_image_items() : array<string|int, array<string|int, mixed>>
- Get the product gallery image items.
- get_video_data() : array<string|int, mixed>
- Get source data for one video.
Methods
get_all_image_ids()
Get all image IDs for the product.
public
static get_all_image_ids(WC_Product $product) : array<string|int, mixed>
Parameters
- $product : WC_Product
-
The product object.
Return values
array<string|int, mixed> — An array of image IDs.get_all_media_items()
Get all media items for the product gallery.
public
static get_all_media_items(WC_Product $product) : array<string|int, array<string|int, mixed>>
Parameters
- $product : WC_Product
-
The product object.
Return values
array<string|int, array<string|int, mixed>> — An array of media gallery items.get_image_src_data()
Get the image source data.
public
static get_image_src_data(array<string|int, mixed> $image_ids, string $size[, string $product_title = '' ]) : array<string|int, mixed>
Parameters
- $image_ids : array<string|int, mixed>
-
The image IDs to retrieve the source data for.
- $size : string
-
The size of the image to retrieve.
- $product_title : string = ''
-
The title of the product used for alt fallback.
Return values
array<string|int, mixed> — An array of image source data.get_media_ids()
Get product gallery media IDs.
public
static get_media_ids(array<string|int, array<string|int, mixed>> $media_items) : array<string|int, int>
Parameters
- $media_items : array<string|int, array<string|int, mixed>>
-
Product gallery media items.
Return values
array<string|int, int> — Media IDs used by the product gallery frontend store.get_media_src_data()
Get media source data.
public
static get_media_src_data(array<string|int, array<string|int, mixed>> $media_items, string $size[, string $product_title = '' ]) : array<string|int, array<string|int, mixed>>
Parameters
- $media_items : array<string|int, array<string|int, mixed>>
-
Product gallery media items.
- $size : string
-
The size of the poster/image to retrieve.
- $product_title : string = ''
-
The title of the product used for alt fallback.
Return values
array<string|int, array<string|int, mixed>> — An array of media source data.get_product_gallery_image_count()
Get the product gallery image count.
public
static get_product_gallery_image_count(WC_Product $product) : int
Parameters
- $product : WC_Product
-
The product object to retrieve the gallery images for.
Tags
Return values
int — The number of media items in the product gallery.get_product_gallery_image_data()
Get the product gallery image data.
public
static get_product_gallery_image_data(WC_Product $product, string $size) : array<string|int, mixed>
Parameters
- $product : WC_Product
-
The product object to retrieve the gallery images for.
- $size : string
-
The size of the image to retrieve.
Return values
array<string|int, mixed> — An array of image data for the product gallery.get_product_gallery_image_ids()
Get the product gallery image IDs.
public
static get_product_gallery_image_ids(WC_Product $product) : array<string|int, mixed>
Parameters
- $product : WC_Product
-
The product object to retrieve the gallery images for.
Return values
array<string|int, mixed> — An array of unique image IDs for the product gallery.get_product_gallery_media_count()
Get the product gallery media count.
public
static get_product_gallery_media_count(WC_Product $product) : int
Parameters
- $product : WC_Product
-
The product object to retrieve the gallery media for.
Return values
int — The number of media items in the product gallery.get_product_gallery_media_data()
Get the product gallery media data.
public
static get_product_gallery_media_data(WC_Product $product, string $size) : array<string|int, array<string|int, mixed>>
Parameters
- $product : WC_Product
-
The product object to retrieve the gallery media for.
- $size : string
-
The size of the poster/image to retrieve.
Return values
array<string|int, array<string|int, mixed>> — An array of media data for the product gallery.get_product_variation_gallery_data()
Get variation gallery data keyed by variation ID.
public
static get_product_variation_gallery_data(WC_Product $product) : array<int, array<string, mixed>>
Parameters
- $product : WC_Product
-
The product object to retrieve variation gallery data for.
Return values
array<int, array<string, mixed>> — Variation gallery data.get_product_variation_image_ids()
Get the product variation image data.
public
static get_product_variation_image_ids(WC_Product $product) : array<string|int, mixed>
Parameters
- $product : WC_Product
-
The product object to retrieve the variation images for.
Return values
array<string|int, mixed> — An array of image data for the product variation images.get_variation_gallery_image_ids()
Get all image IDs relevant to a variation gallery.
public
static get_variation_gallery_image_ids(WC_Product_Variation $variation) : array<string|int, int>
Parameters
- $variation : WC_Product_Variation
-
The variation object.
Return values
array<string|int, int> — Variation image IDs.get_video_attributes()
Get base attributes for product gallery videos.
public
static get_video_attributes(array<string|int, mixed> $media, string $video_location) : array<string|int, mixed>
Parameters
- $media : array<string|int, mixed>
-
Video media data.
- $video_location : string
-
Video location in the product gallery.
Return values
array<string|int, mixed> — Video attributes.get_video_html()
Get product gallery video HTML from attributes.
public
static get_video_html(array<string|int, mixed> $attributes) : string
Parameters
- $attributes : array<string|int, mixed>
-
Video attributes.
Return values
string — Video HTML.build_variation_gallery_entry()
Build the gallery payload for a single variation, or null when the post isn't a real variation.
private
static build_variation_gallery_entry(int $variation_id, int $parent_featured_id, array<string|int, int> $parent_gallery_extras) : array<string, mixed>|null
Decision tree (variation chosen):
- no variation images → parent featured + parent gallery
- own featured only → variation featured + parent gallery extras
- own featured + gallery → variation images only
- gallery only, no own featured (potential AVI shape) → parent featured + variation gallery
Parameters
- $variation_id : int
-
Variation post ID.
- $parent_featured_id : int
-
Parent product's featured image ID (0 if missing/invalid).
- $parent_gallery_extras : array<string|int, int>
-
Parent gallery image IDs, with the featured filtered out.
Return values
array<string, mixed>|null —get_image_data()
Get source data for one image.
private
static get_image_data(int|string $image_id, string $size, string $product_title, int $index) : array<string|int, mixed>
Parameters
- $image_id : int|string
-
The image ID.
- $size : string
-
The size of the image to retrieve.
- $product_title : string
-
The title of the product used for alt fallback.
- $index : int
-
The image index.
Return values
array<string|int, mixed> — Image source data.get_product_gallery_image_items()
Get the product gallery image items.
private
static get_product_gallery_image_items(WC_Product $product) : array<string|int, array<string|int, mixed>>
Parameters
- $product : WC_Product
-
The product object to retrieve the gallery images for.
Return values
array<string|int, array<string|int, mixed>> — An array of image media items for the product gallery.get_video_data()
Get source data for one video.
private
static get_video_data(array<string|int, mixed> $media_item, string $size, string $product_title, int $index) : array<string|int, mixed>
Parameters
- $media_item : array<string|int, mixed>
-
Product gallery media item.
- $size : string
-
The size of the poster image to retrieve.
- $product_title : string
-
The title of the product used for alt fallback.
- $index : int
-
The media index.
