Fixing "Inactive" Group Members in Paid Memberships Pro

by paul | March 24, 2025

The Problem: When Group Owners Get a New Membership

If you’re using the Paid Memberships Pro (PMPro) plugin with the Group Memberships add-on, you may encounter a frustrating situation. When a group owner’s membership expires and they sign up for a new membership instead of renewing their old one, all their group members (sub-users) become “inactive” and remain attached to the expired membership rather than transferring to the new one.

This happens because the PMPro Group Memberships add-on doesn’t seem to have built-in functionality to handle this situation. The add-on is quite minimal in terms of management features, which means we need to take matters into our own hands.

The Solution: Using SQL to Reactivate Group Members

Since there’s no administrative interface to fix this problem, we’ll need to use SQL queries to update the database directly. Here’s how to do it safely:

Step 1: Create a Database Backup

Before making any direct changes to your database, always create a full backup. You can use your hosting provider’s backup tools, a plugin like UpdraftPlus, or phpMyAdmin to export your database.

Step 2: Identify the Problem

First, we need to identify the affected group and its members. Let’s say we know the group ID is 82. We can run this query to see all members of this group and their current status:

SELECT gm.*, u.user_login, u.user_email
FROM wp_pmprogroupacct_group_members gm
JOIN wp_users u ON gm.group_child_user_id = u.ID
WHERE gm.group_id = 82
ORDER BY u.user_login;

This will show you the group members, their user IDs, their current status, and other relevant information.

Step 3: Test on a Single Member First

It’s always a good practice to test your fix on a single member before applying it to everyone. Let’s select one member to update:

UPDATE wp_pmprogroupacct_group_members
SET group_child_status = 'active'
WHERE id = 119 AND group_id = 82;

In this example, we’re updating the member with ID 119 in group 82. Make sure to replace these values with the appropriate ones from your database.

After running this query, check to make sure the member’s status has been updated correctly:

SELECT * FROM wp_pmprogroupacct_group_members WHERE id = 119;

Step 4: Apply the Fix to All Members in the Group

Once you’ve verified that the single member update worked correctly, you can apply the fix to all members in the group:

UPDATE wp_pmprogroupacct_group_members
SET group_child_status = 'active'
WHERE group_id = 82;

This will change all members in group 82 from “inactive” to “active” status.

Step 5: Verify the Results

After running the update, verify that all members have been updated correctly:

SELECT gm.*, u.user_login, u.user_email
FROM wp_pmprogroupacct_group_members gm
JOIN wp_users u ON gm.group_child_user_id = u.ID
WHERE gm.group_id = 82
ORDER BY u.user_login;

All members should now show a status of “active”.

Important Considerations

  • Always backup your database before making direct SQL changes.
  • Test your queries on a staging environment if possible.
  • The table prefix (wp_) might be different in your installation.
  • Consider setting up a routine check for this issue if you have many group memberships.
  • Document this process for future reference, as you may need to repeat it whenever a group owner gets a new membership instead of renewing.

Why This Happens

This issue occurs because the PMPro Group Memberships add-on tracks relationships between group owners and members in its own tables, separate from the core PMPro membership tables. When a group owner gets a new membership, the add-on doesn’t automatically update these relationships.

In an ideal world, the plugin would have functionality to transfer group members to a new membership automatically, but until that feature is implemented, this SQL solution provides a quick fix.

Conclusion

While the PMPro Group Memberships add-on is a useful tool for creating group memberships, it has limitations when handling certain scenarios like membership changes for group owners. By understanding the database structure and using careful SQL updates, you can overcome these limitations and keep your group memberships working smoothly.

Remember: Always approach database modifications with caution, make backups, and test your changes thoroughly before applying them to your live site.

More Posts