Automattic\WooCommerce\StoreApi\Schemas\V1

CheckoutSchema::sanitize_additional_fields()publicWC 1.0

Sanitize and format additional fields object.

Method of the class: CheckoutSchema{}

No Hooks.

Return

Array.

Usage

$CheckoutSchema = new CheckoutSchema();
$CheckoutSchema->sanitize_additional_fields( $fields );
$fields(array) (required)
Values being sanitized.

CheckoutSchema::sanitize_additional_fields() code WC 9.5.1

public function sanitize_additional_fields( $fields ) {
	$properties         = $this->get_additional_fields_schema();
	$sanitization_utils = new SanitizationUtils();
	$fields             = $sanitization_utils->wp_kses_array(
		array_reduce(
			array_keys( $fields ),
			function ( $carry, $key ) use ( $fields, $properties ) {
				if ( ! isset( $properties[ $key ] ) ) {
					return $carry;
				}
				$field_schema   = $properties[ $key ];
				$rest_sanitized = rest_sanitize_value_from_schema( wp_unslash( $fields[ $key ] ), $field_schema, $key );
				$rest_sanitized = $this->additional_fields_controller->sanitize_field( $key, $rest_sanitized );
				$carry[ $key ]  = $rest_sanitized;
				return $carry;
			},
			[]
		)
	);

	return $sanitization_utils->wp_kses_array( $fields );
}