Automattic\WooCommerce\Blocks\BlockTypes\ProductCollection
QueryBuilder::get_final_query_args()
Get final query args based on provided values
Method of the class: QueryBuilder{}
No Hooks.
Return
null
. Nothing (null).
Usage
$QueryBuilder = new QueryBuilder(); $QueryBuilder->get_final_query_args(;
QueryBuilder::get_final_query_args() QueryBuilder::get final query args code WC 9.6.0
public function get_final_query_args( $collection_args, $common_query_values, $query, $is_exclude_applied_filters = false ) { $orderby_query = $query['orderby'] ? $this->get_custom_orderby_query( $query['orderby'] ) : array(); $on_sale_query = $this->get_on_sale_products_query( $query['on_sale'] ); $stock_query = $this->get_stock_status_query( $query['stock_status'] ); $visibility_query = is_array( $query['stock_status'] ) ? $this->get_product_visibility_query( $stock_query, $query['stock_status'] ) : array(); $featured_query = $this->get_featured_query( $query['featured'] ?? false ); $attributes_query = $this->get_product_attributes_query( $query['product_attributes'] ); $taxonomies_query = $query['taxonomies_query'] ?? array(); $tax_query = $this->merge_tax_queries( $visibility_query, $attributes_query, $taxonomies_query, $featured_query ); $date_query = $this->get_date_query( $query['timeFrame'] ?? array() ); $price_query_args = $this->get_price_range_query_args( $query['priceRange'] ?? array() ); $handpicked_query = $this->get_handpicked_query( $query['handpicked_products'] ?? false ); // We exclude applied filters to generate product ids for the filter blocks. $applied_filters_query = $is_exclude_applied_filters ? array() : $this->get_queries_by_applied_filters(); // Allow collections to provide their own query parameters. $handlers = $this->collection_handler_store[ $collection_args['name'] ] ?? null; if ( isset( $handlers['build_query'] ) ) { $collection_query = call_user_func( $handlers['build_query'], $collection_args, $common_query_values, $query, $is_exclude_applied_filters ); } else { $collection_query = array(); } return $this->merge_queries( $common_query_values, $orderby_query, $on_sale_query, $stock_query, $tax_query, $applied_filters_query, $date_query, $price_query_args, $handpicked_query, $collection_query ); }