Automattic\WooCommerce\Blocks\Domain\Services

CheckoutFieldsFrontend::edit_address_fields │ public │ WC 1.0

Adds additional address fields to the My Account edit address form.

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

Хуков нет.

Возвращает

array. Updated address fields.

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

$CheckoutFieldsFrontend = new CheckoutFieldsFrontend();
$CheckoutFieldsFrontend->edit_address_fields( $address, $address_type );
$address(массив) (обязательный)
Address fields.
$address_type(строка) (обязательный)
Type of address (billing or shipping).

Код CheckoutFieldsFrontend::edit_address_fields() WC 11.2.2

public function edit_address_fields( $address, $address_type ) {
	$customer = new WC_Customer( get_current_user_id() );

	$document_object = new DocumentObject();
	$document_object->set_customer( $customer );
	$document_object->set_context( $address_type . '_address' );
	$fields = $this->checkout_fields_controller->get_contextual_fields_for_location( 'address', $document_object );

	foreach ( $fields as $key => $field ) {
		$field_key                      = CheckoutFields::get_group_key( $address_type ) . $key;
		$address[ $field_key ]          = $field;
		$address[ $field_key ]['value'] = $this->checkout_fields_controller->get_field_from_object( $key, $customer, $address_type );

		$address[ $field_key ] = $this->checkout_fields_controller->prepare_form_field( $address[ $field_key ] );
	}

	return $address;
}