Paid Memberships Pro: Email the Admin When a Membership Expires
Sends you a short email when Paid Memberships Pro expires a member's level, so you can follow up personally.
Opens WPIDE on
Code
if ( ! function_exists( 'pmpro_getLevel' ) ) {
return;
}
add_action( 'pmpro_membership_post_membership_expiry', function ( $user_id, $level_id ) {
$user = get_userdata( $user_id );
$level = pmpro_getLevel( $level_id );
if ( ! $user ) {
return;
}
wp_mail(
get_option( 'admin_email' ),
sprintf( 'Membership expired: %s', $user->display_name ),
sprintf( "%s (%s) has reached the end of their \"%s\" membership.\n\nProfile: %s", $user->display_name, $user->user_email, $level ? $level->name : '#' . (int) $level_id, admin_url( 'user-edit.php?user_id=' . (int) $user_id ) )
);
}, 10, 2 );
Notes
Fires from PMPro's daily expiration check.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.