WP_REST_Controller::get_context_param( array $args = array() ): array

Retrieves the magical context param.

Description

Ensures consistent descriptions between endpoints, and populates enum from schema.

Parameters

$argsarrayoptional
Additional arguments for context parameter.

Default:array()

Return

array Context parameter details.

Source

public function get_context_param( $args = array() ) {
	$param_details = array(
		'description'       => __( 'Scope under which the request is made; determines fields present in response.' ),
		'type'              => 'string',
		'sanitize_callback' => 'sanitize_key',
		'validate_callback' => 'rest_validate_request_arg',
	);

	$schema = $this->get_item_schema();

	if ( empty( $schema['properties'] ) ) {
		return array_merge( $param_details, $args );
	}

	$contexts = array();

	foreach ( $schema['properties'] as $attributes ) {
		if ( ! empty( $attributes['context'] ) ) {
			$contexts = array_merge( $contexts, $attributes['context'] );
		}
	}

	if ( ! empty( $contexts ) ) {
		$param_details['enum'] = array_unique( $contexts );
		rsort( $param_details['enum'] );
	}

	return array_merge( $param_details, $args );
}

Changelog

VersionDescription
4.7.0Introduced.

User Contributed Notes

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