Automattic\WooCommerce\EmailEditor\Integrations\WooCommerce\Renderer\Blocks
Product_Collection::get_product_references_for_collection
Get product references for collections (handles different contexts).
Method of the class: Product_Collection{}
No Hooks.
Returns
Array. Array of product IDs or empty array.
Usage
// private - for code of main (parent) class only $result = $this->get_product_references_for_collection( $parsed_block ): array;
- $parsed_block(array) (required)
- Parsed block data.
Product_Collection::get_product_references_for_collection() Product Collection::get product references for collection code WC 10.5.0
private function get_product_references_for_collection( array $parsed_block ): array {
$query_attrs = $parsed_block['attrs']['query'] ?? array();
$product_references = array();
// First try to get from productReference in query attributes.
if ( ! empty( $query_attrs['productReference'] ) ) {
$product_references = array( (int) $query_attrs['productReference'] );
}
// If no product reference found, try to get from global context.
if ( empty( $product_references ) ) {
global $product;
if ( $product && is_a( $product, 'WC_Product' ) ) {
$product_references = array( $product->get_id() );
}
}
// In email context, we might need additional context sources.
// This could be extended based on email type (order confirmation, etc.).
return $product_references;
}