WC_REST_Controller::add_additional_fields_schema()protectedWC 1.0

Add the schema from additional fields to an schema array.

The type of object is inferred from the passed schema.

Method of the class: WC_REST_Controller{}

Return

Array.

Usage

// protected - for code of main (parent) or child class
$result = $this->add_additional_fields_schema( $schema );
$schema(array) (required)
Schema array.

WC_REST_Controller::add_additional_fields_schema() code WC 8.7.0

protected function add_additional_fields_schema( $schema ) {
	if ( empty( $schema['title'] ) ) {
		return $schema;
	}

	/**
	 * Can't use $this->get_object_type otherwise we cause an inf loop.
	 */
	$object_type = $schema['title'];

	$additional_fields = $this->get_additional_fields( $object_type );

	foreach ( $additional_fields as $field_name => $field_options ) {
		if ( ! $field_options['schema'] ) {
			continue;
		}

		$schema['properties'][ $field_name ] = $field_options['schema'];
	}

	$schema['properties'] = apply_filters( 'woocommerce_rest_' . $object_type . '_schema', $schema['properties'] );

	return $schema;
}