woocommerce_pre_product_filter_data filter-hookWC 9.9.0

Allows offloading the filter data to external services like Elasticsearch.

Usage

add_filter( 'woocommerce_pre_product_filter_data', 'wp_kama_woocommerce_pre_product_filter_data_filter', 10, 4 );

/**
 * Function for `woocommerce_pre_product_filter_data` filter-hook.
 * 
 * @param array  $results     The results for current query.
 * @param string $filter_type The type of filter. Accepts price|stock|rating|attribute.
 * @param array  $query_vars  The query arguments to calculate the filter data.
 * @param array  $extra       Some filter types require extra arguments for calculation, like attribute.
 *
 * @return array
 */
function wp_kama_woocommerce_pre_product_filter_data_filter( $results, $filter_type, $query_vars, $extra ){

	// filter...
	return $results;
}
$results(array)
The results for current query.
$filter_type(string)
The type of filter. Accepts price|stock|rating|attribute.
$query_vars(array)
The query arguments to calculate the filter data.
$extra(array)
Some filter types require extra arguments for calculation, like attribute.

Changelog

Since 9.9.0 Introduced.

Where the hook is called

FilterData::get_filtered_price()
woocommerce_pre_product_filter_data
FilterData::get_stock_status_counts()
woocommerce_pre_product_filter_data
FilterData::get_rating_counts()
woocommerce_pre_product_filter_data
FilterData::get_attribute_counts()
woocommerce_pre_product_filter_data
FilterData::get_taxonomy_counts()
woocommerce_pre_product_filter_data
woocommerce/src/Internal/ProductFilters/FilterData.php 64
$pre_filter_counts = apply_filters( 'woocommerce_pre_product_filter_data', null, 'price', $query_vars, array() );
woocommerce/src/Internal/ProductFilters/FilterData.php 129
$pre_filter_counts = apply_filters( 'woocommerce_pre_product_filter_data', null, 'stock', $query_vars, array() ); // phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingSinceComment
woocommerce/src/Internal/ProductFilters/FilterData.php 190
$pre_filter_counts = apply_filters( 'woocommerce_pre_product_filter_data', null, 'rating', $query_vars, array() ); // phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingSinceComment
woocommerce/src/Internal/ProductFilters/FilterData.php 250
$pre_filter_counts = apply_filters( 'woocommerce_pre_product_filter_data', null, 'attribute', $query_vars, array( 'taxonomy' => $attribute_to_count ) ); // phpcs:ignore WooCommerce.Commenting.CommentHooks.MissingSinceComment
woocommerce/src/Internal/ProductFilters/FilterData.php 317
$pre_filter_counts = apply_filters( 'woocommerce_pre_product_filter_data', null, 'taxonomy', $query_vars, array( 'taxonomy' => $taxonomy_to_count ) );

Where the hook is used in WooCommerce

Usage not found.