Last updated January 13th, 2026 at 07:26 pm
The Scenario
- You have a MemberPress membership website in which each membership is for a different interest group.
- The interest groups are Pickleball, Carpentry, Hiking, and Cooking.
- People can join one or more memberships, and each membership (interest group) has one or more leaders assigned to it.
And here are the requirements:
- Each leader of each membership needs to receive an automatic email notification when anyone registers for his or her membership.
- The system (for identifying recipients) must be easy to maintain, even by people who may not know WordPress.
Notes:
- The leaders themselves are not WordPress admins.
- The memberships are not Corporate Accounts, because all members pay their own way.
The Desired Outcome
The goal is very simple: A simple plain-text email should be sent automatically to all designated recipients for a given membership every time someone successfully registers for that membership. The email looks like this:

How can this be done?
What about MemberPress welcome emails?
You may be thinking you could use the MemberPress Welcome emails system. But you can’t.
Why not?
Out of the box and by default, all MemberPress admin emails (including Welcome emails) for all memberships are sent to a single recipient, referred to as an “admin” recipient — even though this recipient need not be an Administrator of the WordPress site. (In fact, the email specified here can be associated with someone who isn’t even a registered user.)
What about an email forwarder?
Maybe you’re thinking you could create an email forwarder that forwards to multiple people.
Good thought, but that’s not an acceptable solution.
Why not?
Because every member of that distribution list would receive notifications for all memberships, including ones they don’t care about.
What about membership-specific welcome emails?
Maybe you’re thinking you could use the those membership-specific welcome emails that MemberPress offers.
Another good thought, but this wouldn’t solve the problem, either.
Why not?
Although you can create membership-specific welcome emails, those emails are sent to the registrants only — no admin notifications are sent.
What can be done?
The default, out-of-the-box MemberPress notification system is pretty good. But it doesn’t address the specific requirement of my client. Let’s explore how we can solve the problem by extending the native MemberPress notification system with some custom code.
Solution Overview
My solution, which I recently implemented for a client, has two main ingredients.
- Meta Data (aka custom fields) that define who should receive registration announcements for which memberships
- A script that is activated when the MemberPress
mepr-event-transaction-completedhook fires.
I used Advanced Custom Fields Pro to register the metadata (custom fields) for these leaders’ names and email addresses as well as to simplify creating the UI for managing the metadata.
And here’s the official documentation of the mepr-event-transaction-completed action hook.
More Details
Custom fields to define recipients
I created an ACF field group called Signup Notifications. It consists of one repeater field which in turn consists of two fields: Recipient Name (type = Text), and Recipient Email (type = Email). In the Location Rules section, I chose Post Type is equal to Membership.
And here’s what the UI looks like after adding that ACF field group:
A single script file to compose, configure, and send the email
The script file I created sits in the wp-content/mu-plugins/ folder. When a MemberPress transaction is completed, a chain reaction is set off by a line of code using the WordPress add_action function.
One small PHP function tests the event to evaluate whether it is indeed a valid transaction object.
If so, the transaction object is handed off to another PHP function that obtains several bits of information about that transaction: the ID of the user; date and time it occurred; the associated membership; and, importantly, any recipients associated with that membership.
It also gets the display name and email of the user.
This function then loops through all found recipients and composes and sends the simple email to each, using this basic code:
foreach ( $recipients as $recipient ) {
$message = ''; //init
$recipient_name = $recipient['name'];
$recipient_email = $recipient['email'];
$recipient_to = "$recipient_name <$recipient_email>";
$message .= "Hello, $recipient_name -\n\r$user_display_name has just joined your hub:\r";
$message .= "Membership: $product_title.\r\n\n";
$message .= "Registered: $created_at_pretty\r\n";
$message .= "Total Paid: $total.\r\n\n";
$message .= "You can send her a personal email at $user_email.\r\n\n";
$message .= "Website Admin.\r\n";
// Send email
$sent = wp_mail(
$recipient_to,
$subject,
$message
);
};
Here again is a sample of the output:

Wrapping Up
MemberPress offers a number of action hooks you can use to customize your users’ experience. The most common are listed and described here in the MemberPress knowledgebase. Many of these can be used to extend the native MemberPress notification system.
Feel free to comment and ask questions below. If you’d like more information about this solution, let me know.
Like what you see? Share with others and join my mailing list. No long-term commitment, unsubscribe any time.


Leave a Reply