Automattic\WooCommerce\Internal\RestApi\Routes\V4\Customers

UpdateUtils::update_customer_address │ private │ WC 1.0

Update customer address fields.

Метод класса: UpdateUtils{}

Хуков нет.

Возвращает

void. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->update_customer_address( $customer, $address, $type ): void;
$customer(WC_Customer) (обязательный)
Customer object.
$address(массив) (обязательный)
Address data.
$type(строка) (обязательный)
Address type (billing or shipping).

Код UpdateUtils::update_customer_address() WC 11.2.2

private function update_customer_address( WC_Customer $customer, array $address, string $type ): void {
	$address = wc_clean( $address );

	$address_fields = array(
		'first_name',
		'last_name',
		'company',
		'address_1',
		'address_2',
		'city',
		'state',
		'postcode',
		'country',
		'email',
		'phone',
	);

	foreach ( $address_fields as $field ) {
		if ( isset( $address[ $field ] ) && is_callable( array( $customer, "set_{$type}_{$field}" ) ) ) {
			$value = ( 'email' === $field ) ? sanitize_email( $address[ $field ] ) : $address[ $field ];
			$customer->{"set_{$type}_{$field}"}( $value );
		}
	}
}