Automattic\WooCommerce\Blocks\BlockTypes

FeaturedItem::update_contextpublicWC 1.0

Update context for inner blocks to provide postId and postType.

Method of the class: FeaturedItem{}

No Hooks.

Returns

Array. Updated block context.

Usage

$FeaturedItem = new FeaturedItem();
$FeaturedItem->update_context( $context, $parsed_block, $parent_block );
$context(array) (required)
Block context.
$parsed_block(array) (required)
Block attributes.
$parent_block(WP_Block) (required)
Block instance.

FeaturedItem::update_context() code WC 10.8.1

public function update_context( $context, $parsed_block, $parent_block ) {
	// Check if this is a featured item block and extract all inner block names.
	if ( ( 'woocommerce/featured-product' === $parsed_block['blockName'] || 'woocommerce/featured-category' === $parsed_block['blockName'] )
		&& isset( $parsed_block['attrs'] ) ) {

		$item = $this->get_item( $parsed_block['attrs'] );
		if ( $item instanceof \WC_Product ) {
			$this->featured_item_id = $item->get_id();

			$this->featured_item_inner_blocks_names = array_reverse(
				$this->extract_featured_item_inner_block_names( $parsed_block )
			);
		}
	}

	// Replace post context for featured item inner blocks.
	$this->replace_post_for_featured_item_inner_block( $parsed_block, $context );

	return $context;
}