WordPress’s flexibility is one of its best features. Using plugins, you can convert your WordPress site into a social network website. Building online communities or groups, user profiles, member directories, user registration/login, user role editing, and content restriction are all features provided by plugins. However, choosing a plugin solely based on its feature set can be a huge disadvantage in the long run. Because you will be using the plugin for an extended period of time, it is wise and efficient to choose a plugin that is simple to understand and use.

We’ve been working on a WordPress community website for quite some time. There are numerous listicles on the internet that only list the best WordPress plugins for developing a Social Networking or Online Community website. However, none of them examine a plugin from the standpoint of user experience. It all comes down to who has the most features. If creating usable software was that simple, businesses would only focus on increasing feature count. And Apple would not be the best provider of usable softwares today.

In this detailed study, we picked 3 tasks and tried to complete them in 6 WordPress Social Networking or Community plugins. In the UX term we will create a task flow of each task for each plugin. We will track how many clicks it takes in each plugin to complete the same task. This data will be quantifiably. We will see the number of clicks that it takes to do 3 tasks in each plugin. 

The Tasks

  1. Adding a Custom User Field to the User Profile
  2. Adding a Custom Field to the Registration / Signup
  3. Creating a User or Member Directory with Only Subscriber User Role

Social Networking or Membership Plugins

  1. Ultimate Member
  2. BuddyPress
  3. UsersWP
  4. Profile Builder
  5. ProfileGrid 
  6. PeepSo

RESULTS!

And the winner is…

best wordpress membership plugin

Clicks to Add Custom User Field to the User Profile

Discover which plugin makes it the simplest to create a user field! We tested six popular WordPress plugins and ranked them according to the number of clicks required to complete this task.

best wordpress membership plugin
No of Clicks to Create a User Field

And the winner is… BuddyPress, Profile Grid, and PeepSo, all tied for first place with 6 clicks!

Profile Builder comes in second with 7 clicks.

Ultimate Member is in third place, with 8 clicks.

UsersWP is in last place, with a whopping 14 clicks.

Here is a detailed Task Flow for each of the six plugins. We recorded the number of steps required to create a custom user field and add it to the user profile.

best wordpress membership plugin

Clicks to Add Custom User Field to the Registration Form

best wordpress membership plugin
Clicks to Add User Field on Registration

And the winner is… Profile Builder with a score of 6 clicks!

In second place, with 7 clicks, we have ProfileGrid & BuddyPress.

And in last place, with 8 clicks, we have Ultimate Member, PeepSo & UsersWP.

Screenshot of detailed task flow to add a custom field to registration or signup form.

best wordpress membership plugin

Clicks to Create a User Directory

Our final task was to create a User or Member Directory with only the Subscriber user role. We discovered that this feature is only available to Ultimate Member. To complete this task, the remaining 5 plugins require either code customization or a premium upgrade. As a result, Ultimate member is the undisputed winner in this category.

best wordpress membership plugin

Detailed Task Flow of creating member directory using Ultimate member.

best wordpress membership plugin

Analyzing the Results

We can easily see from the Task Flow and click data that  BuddyPress, Profile Grid, and PeepSo require 7 clicks to complete the 1st task. And Profile Builder require 6 click to complete the 2nd task. And the third task has no competition; Ultimate member outperforms every plugin.

Let me play the role of the devil’s advocate. In this case, the number of clicks is the incorrect metric to be concerned with. In fact, having too few clicks is more likely to be an indication of a lack of context.

Consider the following nuances to this specific user journey:

There are 2 aspect to consider,

  • How it Looks – Visual aspect of design
  • How it Works – Functional architecture of completing a task


Peter Ramsey

“Designers think they should make something that’s really unique. Actually Being unique is not that important, being familiar is quite comfortable. People like stuff that feels familiar.”

Peter Ramsey, Built for Mars Ltd

Source: https://www.youtube.com/watch?v=UeZnxjjtu2w (20:17)

Key Takeaways

1. Ultimate Members Field Adding Screen

When compared to other plugins, the Ultimate Member’s Field Manager is the most user-friendly option for creating custom user fields. This is due to the fact that you do not have to go through multiple steps to create a user field. Any form, including the User Profile, Login, and Register forms, can have fields added to it.

best wordpress membership plugin

2. Setting Meta Key Field

When creating a field, only BuddyPress and Ultimate Member require users to add a field key. Other plugins automatically generate a random number and text for the field key, which can cause confusion when working with a developer.

3. BuddyPress Field Creation Options

BuddyPress’s field creation user experience follows a simple mental model. All fields can be accessed and created through a single option panel located in the WordPress Dashboard, under “Users” > “Profile Fields”.

4. Flexible No Code Customization

We discovered that only Ultimate Member provides greater flexibility, such as the ability to display specific user roles on the Member Directory, when creating a user or member directory. Most plugins lack this basic feature, which necessitates code modification or a premium upgrade.

Who is the Final Winner

When comparing two WordPress plugins in terms of user experience (UX), it is important to follow a systematic approach to ensure a fair and comprehensive evaluation. Keep in mind that UX is subjective.

best wordpress membership plugin

After considering all of the features, the layout, and how simple it is to use. We determined that Ultimate Member and BuddyPress are joint winners. Both of them provide enough flexibility to be considered among the best WordPress plugins for building a membership, community, or social networking website.

Where Does Ultimate Member Store User Data

Ultimate Member users sometimes face trouble locating where the form data is stored. UM stores the user data in the wp_users and wp_usermeta tables. It saves the meta key as the field key. Ultimate Member stores data in the DB tables *options, *postmeta, *posts, *um_metadata, *usermeta, *users (where * is your Database tables prefix). 

If you turned ON the setting “Enable custom table for usermeta” to use this feature. Then Ultimate Member may use this table to speed up search members in the member directory.  The database table “{prefix}um_metadata” is optional. This table is used only by the search engine in the member directory. Don’t use this table for retrieving and showing data. 

wp_users – This database table contains user fields: “user_login”, “user_pass”, “user_nicename”, “user_email”, “user_url”, “user_registered”, “display_name”.

wp_usermeta – This table contains all custom fields and predefined fields Ultimate Member fields.

wp_um_metadata – This database table contains a copy of data from tables “wp_users” and “wp_usermeta”. It is used by the member directory search and filtering engine to increase performance. The plugin copies data from original tables into this table if the setting “Enable custom table for usermeta” is turned on.

View Form Data from WordPress Dashboard

To view the submitted user data, you can check it in the WP Admin > Users > Hover on any of the users in the list to see the “Info” link > click on that link and it will show the submitted data.

You can also check the submitted data in the Profile Form. See the Profile page generated by UM on first activation. It should be in yoursite.com/user/

You can add fields from Register form to Profile via UM Form Builder. Please go to WP Admin > Ultimate Member > Forms > Edit the profile Form > click on “+” to add a new field > see “Custom fields” to see all created fields from the Register form.

Retrieve Form Data Using WP_User_Query

You can use WordPress function get_user_meta() to retrieve the field value. Ultimate Member function um_user( $data ) may be useful in some cases.

Retrieve a list of users who registered after 1 January 2023

<?php
$args = array(
    'date_query' => array(
        array(
            'after' => 'January 1, 2023',
        ),
    ),
);

$user_query = new WP_User_Query( $args );
$users = $user_query->get_results();

foreach ( $users as $user ) {
    echo 'Username: ' . $user->user_login . '<br />';
    echo 'User email: ' . $user->user_email . '<br />';
    echo 'User registered: ' . $user->user_registered . '<br />';
}

This code will create a new instance of the WP_User_Query class, passing the $args array as an argument. The date_query argument is used to retrieve only users who have registered after 1 January 2023. The code then loops through the results and displays the username, email, and registration date of each user.

Retrieve a list of users who registered after 1 January 2023

<?php
$args = array(
    'meta_query' => array(
        array(
            'key'     => 'country',
            'value'   => '',
            'compare' => '!=',
        ),
    ),
);

$user_query = new WP_User_Query( $args );
$users = $user_query->get_results();

foreach ( $users as $user ) {
    echo 'Username: ' . $user->user_login . '<br />';
    echo 'User email: ' . $user->user_email . '<br />';
    echo 'Country: ' . get_user_meta( $user->ID, 'country', true ) . '<br />';
}

This code will create a new instance of the WP_User_Query class, passing the $args array as an argument. The meta_query argument is used to retrieve only users who have a non-empty value for the country field. The code then loops through the results and displays the username, email, and country of each user.

Retrieve Form Data Using SQL Query

Retrieve a list of users who registered after 1 January 2023

You can retrieve a list of all users who registered after 1 January 2023 by using the following SQL query:

This query selects all columns from the wp_users table and returns only those records where the user_registered field is greater than or equal to ‘2023-01-01 00:00:00‘. The result will be a list of all users who registered after 1 January 2023.

Note: You’ll need to replace wp_ with the actual prefix of your WordPress database tables, if it’s different.

This code uses the $wpdb->prepare method to safely format the SQL query and avoid SQL injection attacks. The %s placeholder is used to represent the ‘2023-01-01 00:00:00‘ argument, which is passed as the second argument to the prepare method. The $wpdb->get_results method is then used to execute the query and retrieve the results.

Note: You’ll need to replace {$wpdb->users} with the actual name of the wp_users table, if it’s different.

<?php
$getUsers = $wpdb->get_results(
                    $wpdb->prepare(
                        "SELECT * FROM {$wpdb->users}
                        WHERE user_registered >= %s",
                        '2023-01-01 00:00:00'
                    ), ARRAY_A
    );

    foreach($getUsers as $getUser){
        print_r($getUser);
    }

Here we are using * which feteches all the data (ID, user_login, user_pass, user_nicename, user_email, user_url, user_registered, user_activation_key, user_status, display_name) from that table. If you only want the display name then you can use display_name instead of *

Retrieve a list of users who have filled in the Country Field

This query selects all columns from the wp_users table and joins the wp_usermeta table, where user meta data is stored, on the ID field. The query returns only those records where the meta_key is ‘country‘ and the meta_value is not empty. The result will be a list of users who have filled in the country field, along with their country.

Note: You’ll need to replace wp_ with the actual prefix of your WordPress database tables, if it’s different, and replace ‘country‘ with the actual name of the meta key that the Ultimate Member plugin uses to store the country field, if it’s different.

<?php
$getUsers = $wpdb->get_results(
$wpdb->prepare(
                   "SELECT wp_users.display_name, wp_usermeta.meta_value
                    AS country
 
                    FROM wp_users
 
                    JOIN wp_usermeta ON wp_users.ID = wp_usermeta.user_id
 
                    WHERE wp_usermeta.meta_key = 'country' 
                    AND wp_usermeta.meta_value != ''"
 ), ARRAY_A
);

    foreach($getUsers as $getUser){
        print_r($getUser);
    }

Export/ Import Profile Data

The user import/export functionality is not available in Ultimate Member. There are, however, free plugins that can import and export WordPress users. Consider using one of the following plugins:

1. WordPress Users Import and Export

2. WP All Import and Export

3. Import and export users and customers

Use these plugins only for exporting or importing data fields. Above plugins are not built for transfering members from one site to another.

Ultimate Member offers tremendous flexibility when it comes to adding fields to their Login, Register & Profile forms. You can add varieties of fields depending on your need. Good news is you can do that with the free version of Ultimate Member WordPress plugin.

Want to create a robust social media site? There are many different types of form fields and functionalities that may be available on a social media site. Some common examples include fields for entering a username, password, and email address to create an account; fields for posting updates, messages, or comments; and options for uploading and sharing photos or videos. Social media sites may also offer additional features and functionalities, such as the ability to search for other users, follow or connect with friends, create or join groups, or customize your profile or settings. 

The purpose of adding fields to a form is to collect information from users. By adding fields to a form, you can specify the type of information that you want to collect from users, such as text, numbers, or dates. This allows you to gather the information that you need in a structured and organized way. 

Ultimate Member offers exactly that. It lets you add 23 types of fields to your form. And it has 34 Predefined fields.

Field Type

1. Text Box

2. Telephone Box

3. Number

4. Textarea

5. Dropdown

6. Multi-Select

7. Radio

8. Checkbox

9. URL

10. Password

11. Image Upload

12. File Upload

13. Date Picker

14. Time Picker

15. Rating

16. Content Block

17. Shortcode

18. Spacing

19. Divider

20. Google Map

21. Youtube Video

22. Vimeo Video

23. SounCloud Track

Predefined Fields

1. Username

2. Username or E-mail

3. Password

4. First Name

5. Last Name

6. Nickname

7. Website URL

8. Registration Date

9. Last Login

10. E-mail Address

11. Secondary E-mail Add

12. Biography

13. Birth Date

14. Gender

15. Country

16. Facebook

17. Twitter

18. LinkedIn

19. Google+

20. Instagram

21. Skype ID

22. Viber number

23. WhatsApp number

24. Telegram

25. Discord

26. YouTube

27. SoundCloud

28. VKontakte

29. Roles (Dropdown)

30. Roles (Radio)

31. Languages

32. Phone Number

33. Mobile Number

34. User Rating

You can learn more about Ultimate Member field types by following this link.

In this post, we’ll show you how to use Elementor and Ultimate Member together to achieve a better-customized WordPress membership site.

Plugins Required:

  1. Ultimate Member
  2. Elementor
  3. Ultimate Member Widgets for Elementor

Ultimate Member is one of the best & complete user profile & Membership plugins for WordPress. The free version of Ultimate Member is enough to compete with most of the premium plugins available in this registration and membership plugin category.

There are lots of membership plugins that will help you build a community website using WordPress but Ultimate Member tops the chart. According to WordPress veteran & renowned Product Strategist Chris Lema “the developers behind Ultimate Member clearly “get it.”

List of WordPress membership plugin that focuses on developing & creating community websites:

PluginActive InstallFreePremium
Ultimate Member200,000+YesUSD 249 per year
BuddyPress100,000+Yes
WP User Manager10,000+YesUSD 299 per year
UsersWP10,000+YesUSD 199 per year
ProfileGrid 8,000+YesUSD 79 per year
PeepSo 4,000+YesUSD 180 per year

Install Ultimate Member

Log into your site and go to WordPress Dashboard > Plugins > Add New. Search for “ultimate member”. Click on Install Now. Once the process is complete, activate the plugin on your site.

Setting up Ultimate Member

When you activate Ultimate Member, it will install 7 default pages ( Login, Register, User, Account, Member, Logout  & Password Reset pages).

PageWhat It DoesShortcode
Account PageAllows users to change the setting[ultimatemember_account]
Password Reset PageAllows users to reset password [[ultimatemember_password]
Logout PageAllows logged-in users to log out of the website.N/A
Register PageAllows visitors to registerShortcode found on Ultimate Member > Forms
Login PageAllows members to logShortcode found on Ultimate Member > Forms
User PageOutputs user profile with avatar, profile cover, and other custom fields.Shortcode found on Ultimate Member > Forms
Members PageDisplays list of usersShortcode found on Ultimate Member > Member Directory.

Install Elementor

Log into your site and go to WordPress Dashboard > Plugins > Add New. In the Search field, enter Elementor and choose Elementor website builder. Click on Install Now. Once the process is complete, activate the plugin on your site.

Install Ultimate Member Widgets for Elementor

Ultimate Member Widgets for Elementor help you add dynamic, customizable user listings using Elementor widgets. 

We’ll show you how to start using Ultimate Member Widgets for Elementor and Elementor together on your site. But first, let’s take a look at an example of what you can accomplish.

How to Use Ultimate Member Alongside the Elementor Page Builder

Step 1:  open up any page or post, and make sure you’re using the Elementor editor. If you see the traditional WordPress interface, hit the Edit with Elementor button to switch over.

Step 2: On the left, there’s a list of ‘widgets’

Step 3: If you just want to display a list of Ultimate Member users then drag & drop the “User Listings” widget.

Step 4: customize the looks using Elementor. 

Step 5: Once done customizing and setting the user query, color & font to suit your needs, save the settings, and you’re good to go!

Conclusion

If you want your user directory to stand out, you’ll need to put some serious thought into its design. For example, you’ll want to find the best method for displaying your members, ideally in a way that’s both user-friendly and nice to look at.