Automattic\WooCommerce\StoreApi\Schemas\V1

AbstractAddressSchema::sanitize_callback()publicWC 1.0

Sanitize and format the given address object.

Method of the class: AbstractAddressSchema{}

No Hooks.

Return

Array.

Usage

$AbstractAddressSchema = new AbstractAddressSchema();
$AbstractAddressSchema->sanitize_callback( $address, $request, $param );
$address(array) (required)
Value being sanitized.
$request(\WP_REST_Request) (required)
The Request.
$param(string) (required)
The param being sanitized.

AbstractAddressSchema::sanitize_callback() code WC 8.6.1

public function sanitize_callback( $address, $request, $param ) {
	$validation_util = new ValidationUtils();
	$address         = (array) $address;
	$address         = array_reduce(
		array_keys( $address ),
		function( $carry, $key ) use ( $address, $validation_util ) {
			switch ( $key ) {
				case 'country':
					$carry[ $key ] = wc_strtoupper( sanitize_text_field( wp_unslash( $address[ $key ] ) ) );
					break;
				case 'state':
					$carry[ $key ] = $validation_util->format_state( sanitize_text_field( wp_unslash( $address[ $key ] ) ), $address['country'] );
					break;
				case 'postcode':
					$carry[ $key ] = $address['postcode'] ? wc_format_postcode( sanitize_text_field( wp_unslash( $address['postcode'] ) ), $address['country'] ) : '';
					break;
				default:
					$carry[ $key ] = $address[ $key ];
					break;
			}
			return $carry;
		},
		[]
	);

	return $address;
}