Automattic\WooCommerce\Blocks\Domain\Services

CheckoutFieldsFrontend::save_account_form_fields │ public │ WC 1.0

Validates and saves additional address fields to the customer object on the My Account page.

Customer is not provided by this hook so we handle save here.

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

Хуков нет.

Возвращает

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

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

$CheckoutFieldsFrontend = new CheckoutFieldsFrontend();
$CheckoutFieldsFrontend->save_account_form_fields( $user_id );
$user_id(int) (обязательный)
User ID.

Код CheckoutFieldsFrontend::save_account_form_fields() WC 11.2.2

public function save_account_form_fields( $user_id ) {
	try {
		$customer = new WC_Customer( $user_id );
		$result   = $this->update_additional_fields_for_customer( $customer, 'contact', 'other' );

		if ( is_wp_error( $result ) ) {
			foreach ( $result->get_error_messages() as $error_message ) {
				wc_add_notice( $error_message, 'error' );
			}
		}

		$customer->save();
	} catch ( \Exception $e ) {
		wc_add_notice(
			sprintf(
				/* translators: %s: Error message. */
				__( 'An error occurred while saving account details: %s', 'woocommerce' ),
				esc_html( $e->getMessage() )
			),
			'error'
		);
	}
}