Automattic\WooCommerce\Blocks\Domain\Services

CheckoutFieldsFrontend::save_account_form_fields()publicWC 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 9.8.5

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'
		);
	}
}