• Skip to main content
  • Skip to primary sidebar
  • Skip to footer

nSiteful Web Builders

Building a Better Web - One Site at a Time.

  • Home
  • About
    • Testimonials
    • Resources
    • Partner With Me
    • Frequently Asked Questions
  • Web Sites
  • Online Marketing
  • WordPress Support
    • Customized WordPress Training
    • 60-for-60 Sessions
  • Web Applications
  • Blog
    • At-A-Glance
    • Blog Articles Grouped by Category
    • Case Studies
    • General
    • Portfolio
    • Reviews
    • Snippets
    • Techniques
    • Projects
  • Contact
    • Purchase Retainer Consulting Hours
    • About Retainer Consulting Hours
    • Book a Meeting with Jeff
    • Tell Me About Your Web Project
    • nSiteful Newsletter Archives
    • nSiteful Rewards
notification system

By Jeff - 8/4/2025
Cats: Techniques · Tags: Advanced Custom Fields, MemberPress, Membership Sites, WordPress

techniques

MemberPress Notification System Extended

On This Page...

Toggle
  • The Scenario
  • The Desired Outcome
  • How can this be done?
    • What about MemberPress welcome emails?
    • What about an email forwarder?
    • What about membership-specific welcome emails?
  • Solution Overview
  • More Details
    • Custom fields to define recipients
    • A single script file to compose, configure, and send the email
  • Wrapping Up

Last updated January 13th, 2026 at 07:26 pm

The Scenario

Suppose:

  • 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:

MemberPress notification using custom code

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.

  1. Meta Data (aka custom fields) that define who should receive registration announcements for which memberships
  2. A script that is activated when the MemberPress mepr-event-transaction-completed hook 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:

UI for adding recipients for memberpress notification

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.

Related Posts

  1. Southeastern Bluegrass Association Membership Site
  2. MemberPress: How to Create a Custom MemberPress Course Progress Page
  3. How (and Why) to Partially Protect Content on your Membership Site
  4. Custom Front-End Member Listing for MemberPress Website
  5. Custom MemberPress Pricing Pages

Reader Interactions

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

mailchimp signup

Subscribe to get notified when new articles are published. Unsubscribe any time. No spam. I promise. Check out my newsletter archives.

social

Twitter Facebook LinkedIn

Recent Articles

  • Post-Specific CSS for WordPress October 5, 2026
  • You built an online course, but they haven’t come. September 16, 2026
  • Custom MemberPress Pricing Pages December 19, 2025
  • CSS Data Attribute Override December 11, 2025
  • MemberPress Rules Using Custom Taxonomies and Custom Roles December 10, 2025

Filter By Category/Tag

Categories

  • Case Studies (8)
  • For Staff (1)
  • General (73)
  • Portfolio (7)
  • Reviews (14)
  • Snippets (24)
  • Techniques (52)

Popular Tags

Advanced Custom Fields Blogging Child Themes Content Marketing CSS Customer Service Custom Fields Custom Post Types Diagnostics Domain Names Facebook FooGallery Genesis Hosting HTML Images iPhone Libra Live Chat Marketing Media MemberPress MemberPress Courses Membership Sites Mobile-Friendly MySQL Photo Gallery php Pinterest Plugins Post Formats Pricing Project Management SEBA SEO Seth Godin Shortcodes Social Networking Surveys Taxonomies Twitter Video Web design Web forms WordPress

Footer

Background

Web Sites | WordPress Support | Web Applications.

Formally trained in liberal arts and education (I have a B.A. in Government from Harvard and studied Secondary Education at Rutgers Graduate School), I have honed my skills in the communication arts and sciences as a teacher, trainer, instructional designer, writer, photographer, calligrapher, helpdesk manager, database programmer, and multimedia developer.

(I've also been a group counselor, waiter, bartender, bicycle messenger boy, computer salesman, carpenter's helper, financial analyst, and school board president.)

Tech

Systems since 1983.
Web sites since 1994.
PHP since 2001.
WordPress since 2007.

Contact

Book Meeting
770-772-5134
Email Jeff
Send Money
All Ways

Copyright 2026, nSiteful Web Builders, Inc.

Cookies Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}
https://iframe.mediadelivery.net/embed/392008/42d18bc1-2adc-4741-b733-053d08d09c32
https://vz-000c5976-3ab.b-cdn.net/42d18bc1-2adc-4741-b733-053d08d09c32/play_720p.mp4

Receive occasional emails from Jeff