Automattic\WooCommerce\Blocks\BlockTypes\ProductCollection

Controller::add_support_for_filter_blocks()publicWC 1.0

Add support for filter blocks:

  • Price filter block
  • Attributes filter block
  • Rating filter block
  • In stock filter block etc.

Method of the class: Controller{}

No Hooks.

Return

null. Nothing (null).

Usage

$Controller = new Controller();
$Controller->add_support_for_filter_blocks( $pre_render, $parsed_block );
$pre_render(array) (required)
The pre-rendered block.
$parsed_block(array) (required)
The parsed block.

Controller::add_support_for_filter_blocks() code WC 9.6.0

public function add_support_for_filter_blocks( $pre_render, $parsed_block ) {
	$is_product_collection_block = $parsed_block['attrs']['query']['isProductCollectionBlock'] ?? false;

	if ( ! $is_product_collection_block ) {
		return $pre_render;
	}

	$this->renderer->set_parsed_block( $parsed_block );
	$this->asset_data_registry->add( 'hasFilterableProducts', true );
	/**
	 * It enables the page to refresh when a filter is applied, ensuring that the product collection block,
	 * which is a server-side rendered (SSR) block, retrieves the products that match the filters.
	 */
	$this->asset_data_registry->add( 'isRenderingPhpTemplate', true );

	return $pre_render;
}