Home > widget-integration > InstantSearchService > filterWidgetProducts

InstantSearchService.filterWidgetProducts() method

Filter and transform products for display.

Extension point for TS teams to add shop-specific product filtering. The base implementation transforms product prices via transformProductPrices() — override to add additional filters (availability, tags, vendor, metafields, etc.).

**Legacy**: transformProductPrice(context, products) — not overridable **New**: Protected method with full override capability

Signature:

protected filterWidgetProducts(products: ProductItem[], searchSettings: SearchSettings$1): ProductItem[];

Parameters

Parameter

Type

Description

products

ProductItem[]

Raw product array from the API

searchSettings

SearchSettings$1

Current search settings

Returns:

ProductItem[]

Filtered and price-transformed product array

Example

window.boostWidgetIntegration.extend('InstantSearchService', (InstantSearchService) => {
  return class CustomService extends InstantSearchService {
    protected filterWidgetProducts(products, searchSettings) {
      // Only show in-stock products in ISW results
      const available = products.filter(p => p.available);
      return super.filterWidgetProducts(available, searchSettings);
    }
  };
});