Automattic\WooCommerce\StoreApi\Schemas\V1
AbstractAddressSchema::sanitize_callback()
Sanitize and format the given address object.
Метод класса: AbstractAddressSchema{}
Хуков нет.
Возвращает
Массив
.
Использование
$AbstractAddressSchema = new AbstractAddressSchema(); $AbstractAddressSchema->sanitize_callback( $address, $request, $param );
- $address(массив) (обязательный)
- Value being sanitized.
- $request(\WP_REST_Request) (обязательный)
- The Request.
- $param(строка) (обязательный)
- The param being sanitized.
Код AbstractAddressSchema::sanitize_callback() AbstractAddressSchema::sanitize callback WC 8.7.0
public function sanitize_callback( $address, $request, $param ) { $validation_util = new ValidationUtils(); $sanitization_util = new SanitizationUtils(); $address = (array) $address; $field_schema = $this->get_properties(); $address = array_reduce( array_keys( $address ), function( $carry, $key ) use ( $address, $validation_util, $field_schema ) { 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 ] = rest_sanitize_value_from_schema( wp_unslash( $address[ $key ] ), $field_schema[ $key ], $key ); break; } if ( $this->additional_fields_controller->is_field( $key ) ) { $carry[ $key ] = $this->additional_fields_controller->sanitize_field( $key, $carry[ $key ] ); } return $carry; }, [] ); return $sanitization_util->wp_kses_array( $address ); }