Alert: This function’s access is marked private. This means it is not intended for use by plugin or theme developers, only in other core functions. It is listed here for completeness.
WC_API_Products::query_products( array $args )
Helper method to get product post objects
Description Description
Parameters Parameters
- $args
-
(Required) request arguments for filtering query
Return Return
(WP_Query)
Source Source
File: includes/legacy/api/v2/class-wc-api-products.php
private function query_products( $args ) { // Set base query arguments $query_args = array( 'fields' => 'ids', 'post_type' => 'product', 'post_status' => 'publish', 'meta_query' => array(), ); if ( ! empty( $args['type'] ) ) { $types = explode( ',', $args['type'] ); $query_args['tax_query'] = array( array( 'taxonomy' => 'product_type', 'field' => 'slug', 'terms' => $types, ), ); unset( $args['type'] ); } // Filter products by category if ( ! empty( $args['category'] ) ) { $query_args['product_cat'] = $args['category']; } // Filter by specific sku if ( ! empty( $args['sku'] ) ) { if ( ! is_array( $query_args['meta_query'] ) ) { $query_args['meta_query'] = array(); } $query_args['meta_query'][] = array( 'key' => '_sku', 'value' => $args['sku'], 'compare' => '=', ); $query_args['post_type'] = array( 'product', 'product_variation' ); } $query_args = $this->merge_query_args( $query_args, $args ); return new WP_Query( $query_args ); }
Changelog Changelog
Version | Description |
---|---|
2.1 | Introduced. |