WP_REST_Meta_Fields::default_additional_properties_to_false( array $schema )

Recursively add additionalProperties = false to all objects in a schema if no additionalProperties setting is specified.


Description Description

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


Parameters Parameters

$schema

(array) (Required) The schema array.


Top ↑

Return Return

(array)


Top ↑

Source Source

File: wp-includes/rest-api/fields/class-wp-rest-meta-fields.php

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

				if ( ! isset( $schema['additionalProperties'] ) ) {
					$schema['additionalProperties'] = false;
				}
				break;
			case 'array':
				$schema['items'] = $this->default_additional_properties_to_false( $schema['items'] );
				break;
		}

		return $schema;
	}

Top ↑

Changelog Changelog

Changelog
Version Description
5.3.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

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