WP_REST_Users_Controller::get_collection_params(): array

In this article

Retrieves the query params for collections.

Return

array Collection parameters.

Source

public function get_collection_params() {
	$query_params = parent::get_collection_params();

	$query_params['context']['default'] = 'view';

	$query_params['exclude'] = array(
		'description' => __( 'Ensure result set excludes specific IDs.' ),
		'type'        => 'array',
		'items'       => array(
			'type' => 'integer',
		),
		'default'     => array(),
	);

	$query_params['include'] = array(
		'description' => __( 'Limit result set to specific IDs.' ),
		'type'        => 'array',
		'items'       => array(
			'type' => 'integer',
		),
		'default'     => array(),
	);

	$query_params['offset'] = array(
		'description' => __( 'Offset the result set by a specific number of items.' ),
		'type'        => 'integer',
	);

	$query_params['order'] = array(
		'default'     => 'asc',
		'description' => __( 'Order sort attribute ascending or descending.' ),
		'enum'        => array( 'asc', 'desc' ),
		'type'        => 'string',
	);

	$query_params['orderby'] = array(
		'default'     => 'name',
		'description' => __( 'Sort collection by user attribute.' ),
		'enum'        => array(
			'id',
			'include',
			'name',
			'registered_date',
			'slug',
			'include_slugs',
			'email',
			'url',
		),
		'type'        => 'string',
	);

	$query_params['slug'] = array(
		'description' => __( 'Limit result set to users with one or more specific slugs.' ),
		'type'        => 'array',
		'items'       => array(
			'type' => 'string',
		),
	);

	$query_params['roles'] = array(
		'description' => __( 'Limit result set to users matching at least one specific role provided. Accepts csv list or single role.' ),
		'type'        => 'array',
		'items'       => array(
			'type' => 'string',
		),
	);

	$query_params['capabilities'] = array(
		'description' => __( 'Limit result set to users matching at least one specific capability provided. Accepts csv list or single capability.' ),
		'type'        => 'array',
		'items'       => array(
			'type' => 'string',
		),
	);

	$query_params['who'] = array(
		'description' => __( 'Limit result set to users who are considered authors.' ),
		'type'        => 'string',
		'enum'        => array(
			'authors',
		),
	);

	$query_params['has_published_posts'] = array(
		'description' => __( 'Limit result set to users who have published posts.' ),
		'type'        => array( 'boolean', 'array' ),
		'items'       => array(
			'type' => 'string',
			'enum' => get_post_types( array( 'show_in_rest' => true ), 'names' ),
		),
	);

	/**
	 * Filters REST API collection parameters for the users controller.
	 *
	 * This filter registers the collection parameter, but does not map the
	 * collection parameter to an internal WP_User_Query parameter.  Use the
	 * `rest_user_query` filter to set WP_User_Query arguments.
	 *
	 * @since 4.7.0
	 *
	 * @param array $query_params JSON Schema-formatted collection parameters.
	 */
	return apply_filters( 'rest_user_collection_params', $query_params );
}

Hooks

apply_filters( ‘rest_user_collection_params’, array $query_params )

Filters REST API collection parameters for the users controller.

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.