$user ? (string) $user->first_name : '', 'last_name' => $user ? (string) $user->last_name : '', 'email' => $user ? (string) $user->user_email : '', 'abece_booking_phone' => (string) get_user_meta( $id, 'abece_booking_phone', true ) ]; } public function save( int $id, array $data ): void { $result = wp_update_user( [ 'ID' => $id, 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'user_email' => $data['email'], 'meta_input' => [ 'abece_booking_phone' => $data['abece_booking_phone'] ] ] ); if ( is_wp_error( $result ) ) { throw new CatalogException( 'abece_booking_profile_error', $result->get_error_message(), 400 ); } } public function requirePhone(): bool { return (bool) get_option( 'abece_booking_require_phone', true ); } }