WP_REST_Comments_Controller::get_collection_params()

Retrieves the query params for collections.


Return

(array) Comments collection parameters.


Source

File: wp-includes/rest-api/endpoints/class-wp-rest-comments-controller.php

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

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

		$query_params['after'] = array(
			'description'       => __( 'Limit response to comments published after a given ISO8601 compliant date.' ),
			'type'              => 'string',
			'format'            => 'date-time',
		);

		$query_params['author'] = array(
			'description'       => __( 'Limit result set to comments assigned to specific user IDs. Requires authorization.' ),
			'type'              => 'array',
			'items'             => array(
				'type'          => 'integer',
			),
		);

		$query_params['author_exclude'] = array(
			'description'       => __( 'Ensure result set excludes comments assigned to specific user IDs. Requires authorization.' ),
			'type'              => 'array',
			'items'             => array(
				'type'          => 'integer',
			),
		);

		$query_params['author_email'] = array(
			'default'           => null,
			'description'       => __( 'Limit result set to that from a specific author email. Requires authorization.' ),
			'format'            => 'email',
			'type'              => 'string',
		);

		$query_params['before'] = array(
			'description'       => __( 'Limit response to comments published before a given ISO8601 compliant date.' ),
			'type'              => 'string',
			'format'            => 'date-time',
		);

		$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(
			'description'           => __( 'Order sort attribute ascending or descending.' ),
			'type'                  => 'string',
			'default'               => 'desc',
			'enum'                  => array(
				'asc',
				'desc',
			),
		);

		$query_params['orderby']    = array(
			'description'           => __( 'Sort collection by object attribute.' ),
			'type'                  => 'string',
			'default'               => 'date_gmt',
			'enum'                  => array(
				'date',
				'date_gmt',
				'id',
				'include',
				'post',
				'parent',
				'type',
			),
		);

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

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

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

		$query_params['status'] = array(
			'default'           => 'approve',
			'description'       => __( 'Limit result set to comments assigned a specific status. Requires authorization.' ),
			'sanitize_callback' => 'sanitize_key',
			'type'              => 'string',
			'validate_callback' => 'rest_validate_request_arg',
		);

		$query_params['type'] = array(
			'default'           => 'comment',
			'description'       => __( 'Limit result set to comments assigned a specific type. Requires authorization.' ),
			'sanitize_callback' => 'sanitize_key',
			'type'              => 'string',
			'validate_callback' => 'rest_validate_request_arg',
		);

		$query_params['password'] = array(
			'description' => __( 'The password for the post if it is password protected.' ),
			'type'        => 'string',
		);

		/**
		 * Filter collection parameters for the comments controller.
		 *
		 * This filter registers the collection parameter, but does not map the
		 * collection parameter to an internal WP_Comment_Query parameter. Use the
		 * `rest_comment_query` filter to set WP_Comment_Query parameters.
		 *
		 * @since WP-4.7.0
		 *
		 * @param array $query_params JSON Schema-formatted collection parameters.
		 */
		return apply_filters( 'rest_comment_collection_params', $query_params );
	}


Changelog

Changelog
Version Description
WP-4.7.0 Introduced.