Automattic\WooCommerce\Internal\ProductFilters
FilterDataProvider{}
Provider class.
No Hooks.
Usage
$FilterDataProvider = new FilterDataProvider(); // use class methods
Methods
- public init( TaxonomyHierarchyData $taxonomy_hierarchy_data )
- public with( QueryClausesGenerator $query_clauses_generator )
FilterDataProvider{} FilterDataProvider{} code WC 10.3.3
class FilterDataProvider {
/**
* Hold initialized providers.
*
* @var array Product filter data providers.
*/
private $providers = array();
/**
* Instance of TaxonomyHierarchyData.
*
* @var TaxonomyHierarchyData
*/
private $taxonomy_hierarchy_data;
/**
* Initialize dependencies.
*
* @internal For exclusive usage of WooCommerce core, backwards compatibility not guaranteed.
*
* @param TaxonomyHierarchyData $taxonomy_hierarchy_data Instance of TaxonomyHierarchyData.
*
* @return void
*/
final public function init( TaxonomyHierarchyData $taxonomy_hierarchy_data ): void {
$this->taxonomy_hierarchy_data = $taxonomy_hierarchy_data;
}
/**
* Get the data provider with desired query clauses generator.
*
* @param QueryClausesGenerator $query_clauses_generator The query clauses generator instance.
*/
public function with( QueryClausesGenerator $query_clauses_generator ) {
$class_name = get_class( $query_clauses_generator );
if ( ! isset( $this->providers[ $class_name ] ) ) {
$this->providers[ $class_name ] = new FilterData( $query_clauses_generator, $this->taxonomy_hierarchy_data );
}
return $this->providers[ $class_name ];
}
}