rest_find_any_matching_schema

The timeline below displays how wordpress function rest_find_any_matching_schema has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 5.6

/**
 * Finds the matching schema among the "anyOf" schemas.
 *
 * @since 5.6.0
 *
 * @param mixed  $value   The value to validate.
 * @param array  $args    The schema array to use.
 * @param string $param   The parameter name, used in error messages.
 * @return array|WP_Error The matching schema or WP_Error instance if all schemas do not match.
 */
function rest_find_any_matching_schema($value, $args, $param)
{
    $errors = array();
    foreach ($args['anyOf'] as $index => $schema) {
        if (!isset($schema['type']) && isset($args['type'])) {
            $schema['type'] = $args['type'];
        }
        $is_valid = rest_validate_value_from_schema($value, $schema, $param);
        if (!is_wp_error($is_valid)) {
            return $schema;
        }
        $errors[] = array('error_object' => $is_valid, 'schema' => $schema, 'index' => $index);
    }
    return rest_get_combining_operation_error($value, $param, $errors);
}