WC_REST_Products_Controller::get_objectsprotectedWC 1.0

Get objects.

Method of the class: WC_REST_Products_Controller{}

No Hooks.

Returns

Array.

Usage

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

WC_REST_Products_Controller::get_objects() code WC 10.3.6

protected function get_objects( $query_args ) {
	$add_search_criteria = $this->search_sku_arg_value || $this->search_name_or_sku_tokens || $this->search_fields_tokens;

	// Add filters for search criteria in product postmeta via the lookup table.
	if ( $add_search_criteria ) {
		add_filter( 'posts_join', array( $this, 'add_search_criteria_to_wp_query_join' ) );
		add_filter( 'posts_where', array( $this, 'add_search_criteria_to_wp_query_where' ) );
	}

	// Add filters for excluding product statuses.
	if ( ! empty( $this->exclude_status ) ) {
		add_filter( 'posts_where', array( $this, 'exclude_product_statuses' ) );
	}

	$result = parent::get_objects( $query_args );

	// Remove filters for search criteria in product postmeta via the lookup table.
	if ( $add_search_criteria ) {
		remove_filter( 'posts_join', array( $this, 'add_search_criteria_to_wp_query_join' ) );
		remove_filter( 'posts_where', array( $this, 'add_search_criteria_to_wp_query_where' ) );

		$this->search_sku_arg_value      = '';
		$this->search_name_or_sku_tokens = null;
		$this->search_fields_tokens      = null;
	}

	// Remove filters for excluding product statuses.
	if ( ! empty( $this->exclude_status ) ) {
		remove_filter( 'posts_where', array( $this, 'exclude_product_statuses' ) );

		$this->exclude_status = array();
	}

	return $result;
}