Are you looking for a simple way to add user profile fields in WordPress?

Profile fields and user taxonomies make it possible for you to:

  • Learn more about your customers
  • Find out how customers discovered your website
  • Organize members by type or interest
  • Help members to connect with each other

In this post, we’ll show you how to add additional fields in WordPress—whether you want to add them to a checkout form, on user profiles, or keep them for admin use only.

Banner Image for Easily Add User Profile Fields in WordPress

The Value of WordPress User Profile Fields

There are a variety of ways you can use additional user fields to improve your WordPress website. For example, you might collect additional information about your users, such as their:

  • Location
  • Demographic information
  • Preferences
  • Goals

These things can help you understand your users better, optimize your sales conversions, personalize the user experience, and make the most of your marketing efforts.

For example, you can use the information you collect to personalize your email marketing, which can lead to better relationships with your customers—and more sales.

Here are a few more examples of additional fields that give you useful information:

  • Finding out customer income levels can help you price your products and services
  • User locations can help you personalize their content with local resources and information
  • Preferences help you optimize just about everything, from your marketing to the content you display to users
  • Fields that ask questions like “How did you hear about us?” help you identify your best marketing channels

Even if your WordPress site isn’t eCommerce related, additional fields can help you identify opportunities for expanding your audience and creating content that will attract people to your site.

How to Add User Profile Fields in WordPress

One of the simplest ways to add additional user fields is to use a WordPress plugin. Paid Memberships Pro is the plugin we recommend to quickly and easily create custom fields and customize how you display them to users. It’s completely free and available in the WordPress.org repository.

If you go on to build a fully featured membership or directory site, PMPro has a ton of great features and integrations to make that possible. But for now, we’re going to focus on the user fields functionality that comes with the core plugin.

Fields can be collected at membership checkout, on the user’s profile, or for administrative view-only. Here’s how it works:

  1. Install Paid Memberships Pro. Read the full installation guide here.
  2. Set up a Membership Level. You’ll need to add at least one free or paid level in order to enable registration.
    1. Navigate to Memberships > Settings in the WordPress admin.
    2. On the Membership Levels screen, click “Add New Level”.
    3. Select the “Free” level type.
    4. Give your membership level a name like “Introductory” or “Free”.
    5. Save Settings.
  3. Generate Default Pages.
    1. Navigate to Memberships > Settings > Pages in the WordPress admin.
    2. Click “Generate Pages For Me”.
    3. Save Settings.
  4. Need a payment gateway?
    • If you are using a free membership level, skip over the payment gateway settings for now. 
    • It’s 100% okay if you don’t want to set up paid levels now or ever.
    • You can use PMPo with just one free level and ignore the payment gateway settings.
  5. Add User Fields
    • Navigate to Memberships > Settings > User Fields to create field groups and individual fields. You can use the default More Information field group, or create a new field group.
Edit User Fields to Add Phone Number

Common User Field Types

Text fields. Collect free text responses that users type into a one-line field.

Textarea fields. Collect long-form free text responses that users type into a larger field.

Text and Textarea fields on membership checkout

Dropdown (select) fields. Allow users to select one option from a dropdown menu.

Conditional fields example

There are loads of other field types in PMPro’s User Fields feature. You can add fields like radio buttons, file uploads, multi-select and autocomplete fields—just about any field you could need, they have it covered.

Video: How to Add User Profile Fields in WordPress

Capture User Fields in Frontend Forms

User fields in Paid Memberships Pro are shown in a lot of places—giving you the ultimate membership customization you need to capture user profile information in forms on your site.

There are three primary places that profile forms show in a WordPress membership site:

  • On the one-page Membership Checkout form.
  • On the frontend User Profile Edit screen.
  • In the admin (for admins only) on the WordPress User Edit screen.

Remember to choose whether or not you want to show the field on the user profile in the “Field Group” settings. You can also choose whether or not you want to show the field on the checkout page in these settings.

Screenshot of the User Fields admin settings page in Paid Memberships Pro
Screenshot of the User Fields admin settings page in Paid Memberships Pro

User Registrations and Paid Memberships Pro

Once you set up Paid Memberships Pro for your WordPress site, the plugin handles all of your user registrations for you. This helps you make sure that all people are registering with the correct access and collected profile fields that you setup through this guide.

If you need to allow default WordPress user registration, or have another plugin that handles user registration that has to play nice with PMPro, check out this guide for a simple code snippet to change PMPro’s default behavior when controlling the registration process.

Disabling Public User Registration

Want to make all user registration private and completely hidden? PMPro handles that too.

In this guide we walked through how to create a free membership level and set up custom user fields. Some sites want to only allow admins to generate new user accounts—and you can do that with PMPro, too.

  1. Navigate back to Memberships > Settings in the WordPress admin.
  2. Edit that single free level you set up earlier in this guide.
  3. In the “Other Settings” section, select “ Check to hide this level from the membership levels page and disable registration.”
  4. Now, edit your site’s Membership Levels page and remove the default levels page shortcode or block.
  5. You can custom craft this page with any content you need for your project, such as a contact form with a membership inquiry request, or other details about joining your closed community.

User Profile Fields: Sitewide Personalization Ideas

PMPro comes bundled with a no-code way to show a logged in user’s profile field anywhere in your site. This feature is called the shortcode—and its super fun to use to create a more personalized member experience.

You can use this shortcode to add the logged in user’s display name or a social media profile link right inside your post content or in a widget.

We use the shortcode here at Paid Memberships Pro to show a welcome message and user avatar on the Membership Account page. Here’s the code for that section of our editor.

[pmpro_member field="avatar"]
<h2>Welcome, [pmpro_member field="display_name"]</h2>
Screenshot of the Membership Account page that is personalized using the pmpro_member shortcode with member's avatar and display name
Screenshot of the Membership Account page that is personalized using the pmpro_member shortcode with member’s avatar and display name

How are User Fields stored?

It’s time to geek out on data structures! Skip this part if your eyes are already glazing over….

WordPress user data is stored in two places: the wp_users table and the wp_usermeta table. If you’re collecting user profile fields in a taxonomy, that data is also stored in the wp_terms table.

Why am I talking about this? It’s important that you know where your membership site data is stored. With WordPress and PMPro, all the data is your data. You own and manage everything within your WordPress site.

You can use this data in so many ways throughout WordPress. More importantly, though, you can use this data in combination with loads of integrations.

Paid Memberships Pro doesn’t store user information in a custom tables, which would make it super hard to move data around or use it for advanced techniques like…

User Fields Documentation: Additional Reading

For more information on creating user fields, check out the following posts and documentation: