Better Members List for Paid Memberships Pro

Plugin: A much more flexible Members List page for Paid Memberships Pro

For my entire professional career, I’ve railed against the “not invented here” attitude that seems common in software development. That “made” me create the “Better Members List for Paid Memberships Pro” plugin.

Did it make sense to spend my time developing this plugin..?

Probably not, but it was an interesting exercise in trying to build a fully compatible option to an existing capability.

Creating this plugin also helped me learn even more about the member management features of Paid Memberships Pro.

History of the Members List

Back in 2016, I rewrote the “Export to CSV” functionality for PMPro

That was my first time digging into the Members List functionality.

I suggested rewriting the Members List in PMPro at the time. My plan was to use the same approach as I have for the Better Members List plugin. Unfortunately, my proposal wasn’t accepted.

In the years since, I’ve submitted hundreds of updates to various parts of the PMPro plugin and the add-ons.

I also made multiple proposals to improve the user experience for the Members List.

Typically, my suggestions were based on requests I saw in the PMPro Support forums.

Users of Paid Memberships Pro wanted the capabilities I included in Better Members List for Paid Memberships Pro.

For a while, you’ve had to register on my site in order to download this free plugin.

I wanted to track the use of the plugin. I also feel that I could deliver a better support experience by knowing who’d downloaded it.

With the number of downloads I’ve seen, I decided to submit the plugin to the plugin repository.

It was accepted late last week.

Changes to Better Members List for Paid Memberships Pro

The plugin could always be updated using the standard WordPress one-click update method.

One problem was that it wasn’t possible to install it the same way. accepting my plugin means you can now install it using the WordPress plugin dashboard.

I have included a few key features, so when you install it you can:

  • Select the columns to display (“Options” drop-down)
  • Define the number of members to list per page (“Options” drop-down)
  • Sort the list by clicking the column name:
    • user login,
    • email address,
    • membership level name,
    • start date, and
    • end/expiration date
  • Change one or more user’s Membership Level (bulk update)
  • Edit the start date of one or more user’s membership (bulk update)
  • Edit the end date of one or more user’s membership (bulk update)

Now using WP_List_Table

Unlike the built-in PMPro version of  the “Members List” functionality, the Better Members List for Paid Memberships Pro uses the WP_List_Table class

For that reason, decent WordPress programmers should be able to add new member list columns with ease.

Using the WP_List_Table data structure makes for a much more flexible programming environment.

A more flexible programming environment means it’s easier – cheaper(!) – to both maintain and extend the features of this plugin.

Why give it away?

I wanted to give users of Paid Memberships Pro a more powerful and flexible alternative.

I also have used this plugin to significantly extend the members list for customers of mine.

Because of my experiences with this plugin, I think of it as a gateway for others to extend.

And, I wanted to showcase my own development services.

Creating User Stories

You start this process by writing a specific user story. This story follows a very specific format:

As a [user role]

I want [feature]

so that [benefit]

In order to generate the required number of user stories to best describe your requested capability, you can add as many User Story Titles and Conditions of Acceptance as you need to by clicking on the + (plus) sign below the “Conditions of Acceptance” field on this form.

Examples of user stories can be:

  • As an author I want a spell checker so that I can avoid spelling errors in my documents
  • As a shopper I want a wishlist so that I can remind myself of things I’d like to buy in the future
  • As a salesperson I want a sales forecast report so that I can ensure I’m on track to hit my quota

Example of a User Story “Conditions of Acceptance” entry:

For the purposes of this example, we’ll use the example of the “spell checker” story (the first one of the user story title examples). The following list of conditions would need to be met for the benefits of the story title to be satisfied.

Example Conditions of Acceptance:

  • I can check spelling for my entire document
  • I can step through each spelling error one at a time
  • I can see suggestions
  • I can replace my word with a corrected word
  • I can add words to my dictionary
  • I can check spelling in English