Last active
November 10, 2020 15:09
-
-
Save andrewlimaza/86e38ab9d0368dda34ae1b62e8da9f21 to your computer and use it in GitHub Desktop.
Change confirmation email contents in Paid Memberships Pro according to user level checkout.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* Adjust email template according to user's level that they are checking out for. | |
* Add this code to your PMPro Customizations plugin - https://www.paidmembershipspro.com/create-a-plugin-for-pmpro-customizations/ | |
* For more information in customizing emails in Paid Memberships Pro visit - https://www.paidmembershipspro.com/documentation/member-communications/customizing-email-templates/ | |
* List of available email templates - https://www.paidmembershipspro.com/documentation/member-communications/list-of-pmpro-email-templates/ | |
*/ | |
function adjust_pmpro_email_according_to_level( $email ){ | |
//store email templates in an array. | |
$pmpro_email_templates = array( 'checkout_free', 'checkout_check', 'checkout_express', 'checkout_freetrial', 'checkout_paid', 'checkout_trial' ); //Email templates that possibly are sent out to user's when they checkout with PMPro. | |
//Get the level that the user is checking out for. | |
$level_for_email_change = $email->data['membership_id']; | |
if( in_array( $email->template, $pmpro_email_templates ) ){ | |
switch ( $level_for_email_change ) { | |
case '1': | |
$email->subject = 'This subject will change for user level 1'; | |
$email->body = 'This will change the user\'s body text for confirmation email for level 1'; | |
break; | |
case '3': | |
$email->subject = 'This subject will change for user level 3'; | |
$email->body = 'This will change the user\'s body text for confirmation email for level 3'; | |
break; | |
case '5': | |
$email->subject = 'This subject will change for user level 5'; | |
$email->body = 'This will change the user\'s body text for confirmation email for level 5'; | |
break; | |
default: | |
//leave empty to not do any changes to email. | |
break; | |
} | |
} | |
return $email; | |
} | |
add_filter( 'pmpro_email_filter', 'adjust_pmpro_email_according_to_level' ); |
@mallinamala this is for the confirmation email and not the confirmation page, you'd need to use the following filter to adjust the confirmation page text - https://github.com/strangerstudios/paid-memberships-pro/blob/dev/pages/confirmation.php#L42
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
$pmpro_invoice->getUser();
$pmpro_invoice->getMembershipLevel();
$confirmation_message .= "
" . sprintf(__('Below are details about your membership account and a receipt for your initial membership invoice. A welcome message with a copy of your initial membership invoice has been sent to your email %s.', 'paid-memberships-pro' ), $pmpro_invoice->user->user_login) . "
";I changed the membership confirmation message in confirmation.php, but it is not refecting at ../membership-account/membership-confirmation/?level=1
in Checkout.php there are 2 membership confirmation messages I changed, but not refecting. What is the solution for this