WC_REST_CRUD_Controller::get_collection_params()publicWC 1.0

Get the query params for collections of attachments.

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

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

Возвращает

Массив.

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

$WC_REST_CRUD_Controller = new WC_REST_CRUD_Controller();
$WC_REST_CRUD_Controller->get_collection_params();

Код WC_REST_CRUD_Controller::get_collection_params() WC 8.7.0

public function get_collection_params() {
	$params                       = array();
	$params['context']            = $this->get_context_param();
	$params['context']['default'] = 'view';

	$params['page']            = array(
		'description'       => __( 'Current page of the collection.', 'woocommerce' ),
		'type'              => 'integer',
		'default'           => 1,
		'sanitize_callback' => 'absint',
		'validate_callback' => 'rest_validate_request_arg',
		'minimum'           => 1,
	);
	$params['per_page']        = array(
		'description'       => __( 'Maximum number of items to be returned in result set.', 'woocommerce' ),
		'type'              => 'integer',
		'default'           => 10,
		'minimum'           => 1,
		'maximum'           => 100,
		'sanitize_callback' => 'absint',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['search']          = array(
		'description'       => __( 'Limit results to those matching a string.', 'woocommerce' ),
		'type'              => 'string',
		'sanitize_callback' => 'sanitize_text_field',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['after']           = array(
		'description'       => __( 'Limit response to resources published after a given ISO8601 compliant date.', 'woocommerce' ),
		'type'              => 'string',
		'format'            => 'date-time',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['before']          = array(
		'description'       => __( 'Limit response to resources published before a given ISO8601 compliant date.', 'woocommerce' ),
		'type'              => 'string',
		'format'            => 'date-time',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['modified_after']  = array(
		'description'       => __( 'Limit response to resources modified after a given ISO8601 compliant date.', 'woocommerce' ),
		'type'              => 'string',
		'format'            => 'date-time',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['modified_before'] = array(
		'description'       => __( 'Limit response to resources modified before a given ISO8601 compliant date.', 'woocommerce' ),
		'type'              => 'string',
		'format'            => 'date-time',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['dates_are_gmt']   = array(
		'description'       => __( 'Whether to consider GMT post dates when limiting response by published or modified date.', 'woocommerce' ),
		'type'              => 'boolean',
		'default'           => false,
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['exclude']         = array(
		'description'       => __( 'Ensure result set excludes specific IDs.', 'woocommerce' ),
		'type'              => 'array',
		'items'             => array(
			'type' => 'integer',
		),
		'default'           => array(),
		'sanitize_callback' => 'wp_parse_id_list',
	);
	$params['include']         = array(
		'description'       => __( 'Limit result set to specific ids.', 'woocommerce' ),
		'type'              => 'array',
		'items'             => array(
			'type' => 'integer',
		),
		'default'           => array(),
		'sanitize_callback' => 'wp_parse_id_list',
	);
	$params['offset']          = array(
		'description'       => __( 'Offset the result set by a specific number of items.', 'woocommerce' ),
		'type'              => 'integer',
		'sanitize_callback' => 'absint',
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['order']           = array(
		'description'       => __( 'Order sort attribute ascending or descending.', 'woocommerce' ),
		'type'              => 'string',
		'default'           => 'desc',
		'enum'              => array( 'asc', 'desc' ),
		'validate_callback' => 'rest_validate_request_arg',
	);
	$params['orderby']         = array(
		'description'       => __( 'Sort collection by object attribute.', 'woocommerce' ),
		'type'              => 'string',
		'default'           => 'date',
		'enum'              => array(
			'date',
			'id',
			'include',
			'title',
			'slug',
			'modified',
		),
		'validate_callback' => 'rest_validate_request_arg',
	);

	if ( $this->hierarchical ) {
		$params['parent']         = array(
			'description'       => __( 'Limit result set to those of particular parent IDs.', 'woocommerce' ),
			'type'              => 'array',
			'items'             => array(
				'type' => 'integer',
			),
			'sanitize_callback' => 'wp_parse_id_list',
			'default'           => array(),
		);
		$params['parent_exclude'] = array(
			'description'       => __( 'Limit result set to all items except those of a particular parent ID.', 'woocommerce' ),
			'type'              => 'array',
			'items'             => array(
				'type' => 'integer',
			),
			'sanitize_callback' => 'wp_parse_id_list',
			'default'           => array(),
		);
	}

	/**
	 * Filter collection parameters for the posts controller.
	 *
	 * The dynamic part of the filter `$this->post_type` refers to the post
	 * type slug for the controller.
	 *
	 * This filter registers the collection parameter, but does not map the
	 * collection parameter to an internal WP_Query parameter. Use the
	 * `rest_{$this->post_type}_query` filter to set WP_Query parameters.
	 *
	 * @param array        $query_params JSON Schema-formatted collection parameters.
	 * @param WP_Post_Type $post_type    Post type object.
	 */
	return apply_filters( "rest_{$this->post_type}_collection_params", $params, $this->post_type );
}