WP_REST_Settings_Controller::set_additional_properties_to_false( array $schema )
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.
Parameters
- $schema
-
(array) (Required) The schema array.
Return
(array)
Source
File: wp-includes/rest-api/endpoints/class-wp-rest-settings-controller.php
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;
}
Changelog
Version | Description |
---|---|
WP-4.9.0 | Introduced. |