woocommerce_hpos_pre_query
Filters the orders array before the query takes place.
Return a non-null value to bypass the HPOS default order queries.
If the query includes limits via the limit, page, or offset arguments, we encourage the found_orders and max_num_pages properties to also be set.
Usage
add_filter( 'woocommerce_hpos_pre_query', 'wp_kama_woocommerce_hpos_pre_query_filter', 10, 3 );
/**
* Function for `woocommerce_hpos_pre_query` filter-hook.
*
* @param array|null $order_data An array of order data.
* @param OrdersTableQuery $query The OrdersTableQuery instance.
* @param string $sql Fully built SQL query.
*
* @return array|null
*/
function wp_kama_woocommerce_hpos_pre_query_filter( $order_data, $query, $sql ){
// filter...
return $order_data;
}
- $order_data(array|null)
An array of order data.
-
orders(int[])
Return an array of order IDs data to short-circuit the HPOS query, or null to allow HPOS to run its normal query. -
found_orders(int)
The number of orders found. - max_num_pages(int)
The number of pages.
-
- $query(OrdersTableQuery)
- The OrdersTableQuery instance.
- $sql(string)
- Fully built SQL query.
Changelog
| Since 8.2.0 | Introduced. |
Where the hook is called
woocommerce_hpos_pre_query
woocommerce/src/Internal/DataStores/Orders/OrdersTableQuery.php 241
$pre_query = apply_filters( 'woocommerce_hpos_pre_query', null, $this, $this->sql );