Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save strangerstudios/81c1e425dd961095f673 to your computer and use it in GitHub Desktop.
Save strangerstudios/81c1e425dd961095f673 to your computer and use it in GitHub Desktop.
Don't send membership expiring or expired emails for certain levels.
/*
Don't send membership expiring or expired emails for certain levels.
Place this code in your active theme's functions.php or a custom plugin.
*/
function disable_membership_expiring_emails_for_some_levels($recipient, $email)
{
//check template
if($email->template == "membership_expiring" || $email->template == "membership_expired")
{
//check level
if(!empty($email->data['membership_id']) && $email->data['membership_id'] == 15)
{
//membership expiring and level is 15
$recipient = NULL;
}
else
{
//membership expired. get the user id first
$user = get_user_by("login", $email->data['user_login']);
//check the user's last level
if(!empty($user->ID))
{
global $wpdb;
$last_level = $wpdb->get_var("SELECT membership_id FROM $wpdb->pmpro_memberships_users WHERE user_id = '" . $user->ID . "' AND status != 'active' ORDER BY id DESC LIMIT 1");
if(!empty($last_level) && $last_level == 15)
{
//membership expired, level was 15
$recipient = NULL;
}
}
}
}
return $recipient;
}
add_filter("pmpro_email_recipient", "disable_membership_expiring_emails_for_some_levels", 10, 2);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment