Allow Users to Update their Profile from the Front End with Gravity Forms

Update your Profile with Gravity Forms

When you’re running a membership site, a very handy feature is the ability to allow your users to edit their profile from the front-end of the website. I grant you, you could always allow them to edit it from the back-end, but it’s more fluid and consistent if the page they edit their profile on is the same as the rest of the site.

After trying several plugins which just seemed to make it more complicated than it needed to be, I learned that the User Registration Add-on version 1.5+ for Gravity Forms allows you to not only create users, but it allows you to update users.

Using Gravity Forms add-ons requires a developer license, so be sure to get one of those (it pays for itself very quickly). Version 1.5 of the User Registration add-on is currently still in beta, so you need to download it directly from their website: neither the automatic update or installing it from the add-ons menu within WordPress will work.

Once it’s installed, you need to build the form that will accept the new user information, so add fields for every element of the profile that you want users to be able to change. Remember to use the appropriate advanced fields for names, emails and passwords. You can change any profile field already supported by the standard WordPress profile, and even add custom fields if you’ve created some.

Once that’s all set up, you now need to set up the “feed” that will take information from the submitted form and update the user’s profile. Go to Forms > User Registration and select New Feed. Choose “Update user” as the action (the user already exists and we’re just updating their information), then select the form that you just created and finally map the form fields to the corresponding profile fields.

Adding the Update Profile feed

And you’re done. You can now paste that form anywhere that signed-in users can access it and allow them to update their profiles.

Update your Profile with Gravity Forms

A few bonus features: with the password field, you can set a minimum required strength to ensure better security, and the fields also pre-populate with the profile data already on file, so that the users know what their profile already looks like.

Yet another invaluable feature of Gravity Forms

25 thoughts on “Allow Users to Update their Profile from the Front End with Gravity Forms”

  1. AJ Clarke says:

    This looks quite nice. I’ve never really dug into Gravity Forms (although I should). I just finished creating a manual edit profile form for the upcoming AuthenticThemes – came out quite nicely, but I’m sure using a plugin might have been smarter ;)

    1. Most of the plugins around have not been very good, but this way was a doddle. You definitely need to check out Gravity Forms. You’ll never go back :)

      1. AJ Clarke says:

        Yes, I really should. Do you know if it’s easy to add new meta fields for users and add these fields to the edit profile/register forms?

        1. You most certainly can. You can add as many custom meta fields to the profile (and update them) as you want.

  2. Heya – think this will work with added user fields? Like from the Types or EUF plugins?
    cheers!
    -jennyb

    1. I’m not sure what those plugins are (links), but if they add custom information to the WordPress user profile, then yes, you can absolutely use this method to allow your users to modify that information.

      1. Will give it a go, many thanks!
        -jennyb

  3. Michael says:

    Hi

    Just a quick question as I’m trying to do this for our site!

    – Am i right in thinking that if I need to offer my users an upgrade their user account (e.g from basic @ £10 per month to enhanced @ £20 per month account) I wouldnt need to include all their name etc in the form as its already there – just the account type and amount?

    If this is the case could i offer a checkbox with the various levels then another checkbox which would automatically show the cost?

    Is that the right way to go? sorry I know its an old post but any help would be greatly appreciated!

    1. That’s right. This is perfect for membership sites where you can automatically pull in the user’s profile information into the form, like their name, email etc.

      Not sure why you couldn’t just show the levels with the costs right next to them instead of providing two sets of checkboxes (which I think should probably be radio buttons anyway, unless users can sign up for more than one plan at a time)?

  4. markandphil says:

    Any idea how we could do this for someone NOT logged in? We want the user to be able to update their info without being logged in, but instead, change it based on the email address they gave (which is also their username).

    1. It would be a very different application, but it could be done. However, I’d strongly suggest against this, as anyone could tamper with your users’ information. You should only allow someone to update their profile while they’re logged in.

  5. Beth Hatch says:

    I want to let users add and edit their biographical info as well but do not see this option. Is it available?

    1. Sure thing. Just add a user meta field using the key ‘description’ and this should then link to the user’s bio.

  6. David Giacomini says:

    I know this is really old but this is so close to what I’m looking for. I am using Gravity Forms User Registration. I created the form and feed and it works. Users can register. I wanted to have a login/account menu in the navigation but couldn’t figure that out so added it to a sidebar.
    The question I have is… how can I make the profile page look like the front end? On my original GF sign up form, the action is “create user”
    – Do I duplicate this form and create a new one for “update user”?
    – Do I keep this form and simply change it to “update user”?
    – How do I let customers go to this? I’m using sidebar login and it shows this in the widget: Profile | %admin_url%/profile.php
    Do I just create a new page such as profileupdate and make it %admin_url%/profileupdate/

    Thanks

    1. That’s exactly right. You can just copy the form and rename it to “Update User” and add a feed to “Update User” rather than “Create user”. Then embed this form on a page on the front-end of the site. You can do the same for the registration form (to keep it on the front of the site).

  7. David Giacomini says:

    Thank you so much. Got it working. Also needed a plug-in to allow login-in/log-out on front end rather than WP admin. It wasn’t intuitive to actually use two duplicate forms. I thought I was doing something wrong. This now creates users in two different form entries which seemed odd to me. I was picturing things more like a central user database with a single form to create and update entries. So I’m having the client use the “users” section to view users rather than form entries.

    It’s all good now. Thanks

  8. Sean Nelson says:

    Seems like if you’re going to allow the user to update their information they should be able to see the information pre-filled rather than blank form fields. With that in mind I have a question

    – I know you can pre-populate standard fields such as First Name by putting {user:first_name} on the Default Value on the Advanced tab in the form field. What I’m still trying to figure out is how to do the same with a custom field. In my case I added the custom fields via CIMY User Extra Fields.

    So, how do you repopulate extra custom fields added to the user profile?

    Thank for any help or thoughts. It is appreciated.

    Sean

  9. burkinar says:

    hello
    @David Giacomini
    please I want to do the same in my website and I can not. I use gravity form 1.9.17.
    Can you guide me?

    On my original GF sign up form, the action is “create user”
    – Do I duplicate this form and create a new one for “update user”?
    – or do I keep this form and simply change it to “update user”? if i change sign up form do not work again

    1. Duplicate the sign-up form to create an “Update user” form. Change the User Registration feed from Create User to Update User.

  10. As with other commenters, I realize this is an old post, but I am SO CLOSE to getting this to work and I’m still having problems. I have about two years’ worth of registrants who used the theme-based registration. Since I switched to GF’s User Registration Form, I’m getting all the info I need, but I don’t have any way to update that of the earlier users AND be able to export said information from all users as a whole. As of right now, I’m exporting from “entries,” which will only work on the original form if I create a second one for updating.

    I see above someone is using User data in the dashboard to do this, but my User panel does not include any of the data gathered in the form other than the very basics (email, name, etc.).

    Is there a way to either 1) combine the data from the two entry flows, or 2) get the User panel to collect, display and export everything?

  11. Hello Dave,

    I notice you said: “It would be a very different application, but it could be done. However, I’d strongly suggest against this, as anyone could tamper with your users’ information. You should only allow someone to update their profile while they’re logged in.”

    In our case, security wouldn’t be a problem. I was wondering if you had any advice on how the below task can be achieved? Thanks

    task:

    “Any idea how we could do this for someone NOT logged in? We want the user to be able to update their info without being logged in, but instead, change it based on the email address they gave (which is also their username).”

    1. The standard integration within Gravity Forms will not work and you’d need to hire a developer to do the custom work to get information submitted in the form to update a user’s profile. It’s definitely possible, but not out of the box.

  12. temitayoadegoketayo says:

    Hi Dave, Thanks for your help, I set up the form following your instructions and i pretty much got everything in place. The only problem i have now is that, when i try to update the information while logged in and click submit button, i get an error saying the email is already in use, meaning the form is not updating. Then i tried to do something, i unchecked the box in the email field that says “do not allow duplicate entry and the form was able to save. but when i checked the entries i saw that rather than update, it is creating new user fields.

    Please help, i want to make this update,

    1. It sounds like you user registration feed is set to create new users rather than update existing users.

Leave a Reply