Automattic\WooCommerce\Internal\ProductFilters

QueryClauses::add_query_clauses_for_main_querypublicWC 1.0

Add query clauses for main query. WooCommerce handles attribute, price, and rating filters in the main query. This method is used to add stock status and taxonomy filters to the main query.

Method of the class: QueryClauses{}

No Hooks.

Returns

Array.

Usage

$QueryClauses = new QueryClauses();
$QueryClauses->add_query_clauses_for_main_query( $args, $wp_query ): array;
$args(array) (required)
Query args.
$wp_query(WP_Query) (required)
WP_Query object.

QueryClauses::add_query_clauses_for_main_query() code WC 10.3.3

public function add_query_clauses_for_main_query( array $args, \WP_Query $wp_query ): array {
	if (
		! $wp_query->is_main_query() ||
		'product_query' !== $wp_query->get( 'wc_query' )
	) {
		return $args;
	}

	if ( $wp_query->get( 'filter_stock_status' ) ) {
		$stock_statuses = trim( $wp_query->get( 'filter_stock_status' ) );
		$stock_statuses = explode( ',', $stock_statuses );
		$stock_statuses = array_filter( $stock_statuses );

		$args = $this->add_stock_clauses( $args, $stock_statuses );
	}

	$args = $this->add_taxonomy_clauses(
		$args,
		$this->get_chosen_taxonomies( $wp_query->query_vars )
	);

	return $args;
}