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_image_src_data()  : array<string|int, mixed>
Get the image 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_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.
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.

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

Return values
intThe number of images 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 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.

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 (flag on) → 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