WC_API_Orders::query_orders()
Helper method to get order post objects
Method of the class: WC_API_Orders{}
No Hooks.
Return
WP_Query
.
Usage
// protected - for code of main (parent) or child class $result = $this->query_orders( $args );
- $args(array) (required)
- request arguments for filtering query
Changelog
Since 2.1 | Introduced. |
WC_API_Orders::query_orders() WC API Orders::query orders code WC 8.7.0
protected function query_orders( $args ) { // set base query arguments $query_args = array( 'fields' => 'ids', 'post_type' => $this->post_type, 'post_status' => array_keys( wc_get_order_statuses() ), ); // add status argument if ( ! empty( $args['status'] ) ) { $statuses = 'wc-' . str_replace( ',', ',wc-', $args['status'] ); $statuses = explode( ',', $statuses ); $query_args['post_status'] = $statuses; unset( $args['status'] ); } if ( ! empty( $args['customer_id'] ) ) { $query_args['meta_query'] = array( array( 'key' => '_customer_user', 'value' => absint( $args['customer_id'] ), 'compare' => '=', ), ); } $query_args = $this->merge_query_args( $query_args, $args ); return new WP_Query( $query_args ); }