-
-
Save andrewlimaza/86e38ab9d0368dda34ae1b62e8da9f21 to your computer and use it in GitHub Desktop.
<?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' ); |
Line 17 could change to something like
if ( 'checkout_free' == $email->template ) {
This would only affect the 'checkout_free' email template.
$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
@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
Be sure to adjust line 12 to only adjust certain email templates and not all!