WooCommerce Code Reference

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 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
deprecated
11.1.0

Use get_product_gallery_media_count instead.

Return values
intThe number of media items in the product gallery.

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 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 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
intThe number of media items in the product gallery.

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 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_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
stringVideo 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 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.

Return values
array<string|int, mixed>Video source data.