WC_Product_Data_Store_CPT::query
Query for Products matching specific criteria.
Method of the class: WC_Product_Data_Store_CPT{}
No Hooks.
Returns
Array|Object.
Usage
$WC_Product_Data_Store_CPT = new WC_Product_Data_Store_CPT(); $WC_Product_Data_Store_CPT->query( $query_vars );
- $query_vars(array) (required)
- Query vars from a WC_Product_Query.
Changelog
| Since 3.2.0 | Introduced. |
WC_Product_Data_Store_CPT::query() WC Product Data Store CPT::query code WC 10.6.2
public function query( $query_vars ) {
$args = $this->get_wp_query_args( $query_vars );
if ( ! empty( $args['errors'] ) ) {
$query = (object) array(
'posts' => array(),
'found_posts' => 0,
'max_num_pages' => 0,
);
} else {
$query = new WP_Query( $args );
}
if ( isset( $query_vars['return'] ) && 'objects' === $query_vars['return'] && ! empty( $query->posts ) ) {
// Prime caches before grabbing objects.
update_post_caches( $query->posts, array( 'product', 'product_variation' ) );
}
$products = ( isset( $query_vars['return'] ) && 'ids' === $query_vars['return'] ) ? $query->posts : array_filter( array_map( 'wc_get_product', $query->posts ) );
if ( isset( $query_vars['paginate'] ) && $query_vars['paginate'] ) {
return (object) array(
'products' => $products,
'total' => $query->found_posts,
'max_num_pages' => $query->max_num_pages,
);
}
return $products;
}