Automattic\WooCommerce\Internal\RestApi\Routes\V4\Customers

CollectionQuery::get_query_args │ public │ WC 1.0

Prepares query args.

Метод класса: CollectionQuery{}

Хуки из метода

Возвращает

array.

Использование

$CollectionQuery = new CollectionQuery();
$CollectionQuery->get_query_args( $request ): array;
$request(WP_REST_Request) (обязательный)
The request object.

Код CollectionQuery::get_query_args() WC 11.2.2

public function get_query_args( WP_REST_Request $request ): array {
	$prepared_args            = array();
	$prepared_args['exclude'] = $request['exclude'];
	$prepared_args['include'] = $request['include'];
	$prepared_args['order']   = $request['order'];
	$prepared_args['number']  = $request['per_page'];
	$prepared_args['page']    = max( 1, intval( $request['page'] ) );

	$orderby_possibles = array(
		'id'              => 'ID',
		'name'            => 'display_name',
		'registered_date' => 'user_registered',
		'order_count'     => 'wc_order_count',
		'total_spent'     => 'wc_money_spent',
		'last_active'     => 'wc_last_active',
	);

	$prepared_args['orderby'] = $orderby_possibles[ $request['orderby'] ];
	$prepared_args['search']  = $request['search'];

	if ( ! empty( $prepared_args['search'] ) ) {
		$prepared_args['search'] = '*' . $prepared_args['search'] . '*';
	}

	// Always pass role through (datastore handles 'all' vs 'customer').
	$prepared_args['role'] = $request['role'];

	/**
	 * Filter arguments, before passing to WP_User_Query, when querying users via the REST API.
	 *
	 * @see https://developer.wordpress.org/reference/classes/wp_user_query/
	 *
	 * @param array           $prepared_args Array of arguments for WP_User_Query.
	 * @param WP_REST_Request $request       The current request.
	 * @since 10.2.0
	 */
	$prepared_args = apply_filters( 'woocommerce_rest_customer_query', $prepared_args, $request );

	return $prepared_args;
}