WP_REST_Settings_Controller::set_additional_properties_to_false( array $schema ): array

Recursively add additionalProperties = false to all objects in a schema.


Description

This is need to restrict properties of objects in settings values to only registered items, as the REST API will allow additional properties by default.


Top ↑

Parameters

$schema array Required
The schema array.

Top ↑

Return

array


Top ↑

Source

File: wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php. View all references

protected function set_additional_properties_to_false( $schema ) {
	switch ( $schema['type'] ) {
		case 'object':
			foreach ( $schema['properties'] as $key => $child_schema ) {
				$schema['properties'][ $key ] = $this->set_additional_properties_to_false( $child_schema );
			}

			$schema['additionalProperties'] = false;
			break;
		case 'array':
			$schema['items'] = $this->set_additional_properties_to_false( $schema['items'] );
			break;
	}

	return $schema;
}


Top ↑

Changelog

Changelog
Version Description
4.9.0 Introduced.

Top ↑

User Contributed Notes

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