WC_REST_CRUD_Controller::get_objects()protectedWC 3.0.0

Get objects.

Method of the class: WC_REST_CRUD_Controller{}

No Hooks.

Return

Array.

Usage

// protected - for code of main (parent) or child class
$result = $this->get_objects( $query_args );
$query_args(array) (required)
Query args.

Changelog

Since 3.0.0 Introduced.

WC_REST_CRUD_Controller::get_objects() code WC 8.6.1

protected function get_objects( $query_args ) {
	$query  = new WP_Query();
	$result = $query->query( $query_args );

	$total_posts = $query->found_posts;
	if ( $total_posts < 1 && isset( $query_args['paged'] ) && absint( $query_args['paged'] ) > 1 ) {
		// Out-of-bounds, run the query again without LIMIT for total count.
		unset( $query_args['paged'] );
		$count_query = new WP_Query();
		$count_query->query( $query_args );
		$total_posts = $count_query->found_posts;
	}

	return array(
		'objects' => array_filter( array_map( array( $this, 'get_object' ), $result ) ),
		'total'   => (int) $total_posts,
		'pages'   => (int) ceil( $total_posts / (int) $query->query_vars['posts_per_page'] ),
	);
}