Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save messica/1e00fa9b5138d47d7865add1435070ac to your computer and use it in GitHub Desktop.
Save messica/1e00fa9b5138d47d7865add1435070ac to your computer and use it in GitHub Desktop.
Make PMPro MailChimp compatible with PMPro Email Confirmation
<?php
/**
* Make PMPro MailChimp compatible with PMPro Email Confirmation
*/
// Don't subscribe to MailChimp if user is not validated.
function my_pmproec_pmpro_after_change_membership_level($level_id, $user_id) {
if( function_exists('pmproec_isEmailConfirmationLevel') && pmproec_isEmailConfirmationLevel($level_id) ) {
$validation_key = get_user_meta($user_id, "pmpro_email_confirmation_key", true);
if ( empty( $validation_key ) || $validation_key != "validated" ) {
remove_action("pmpro_after_change_membership_level", "pmpromc_pmpro_after_change_membership_level", 15, 2);
}
}
}
add_action('pmpro_after_change_membership_level', 'my_pmproec_pmpro_after_change_membership_level', 10, 2); // Run before PMPro MailChimp
// Don't subscribe to MailChimp if user is not validated.
function my_pmproec_pmpro_after_checkout($user_id) {
$level = pmpro_getMembershipLevelForUser($user_id);
if( function_exists('pmproec_isEmailConfirmationLevel') && pmproec_isEmailConfirmationLevel($level->id) ) {
$validation_key = get_user_meta($user_id, "pmpro_email_confirmation_key", true);
if ( empty( $validation_key ) || $validation_key != "validated" ) {
remove_action("pmpro_after_checkout", "pmpromc_pmpro_after_checkout", 15);
}
}
}
add_action('pmpro_after_checkout', 'my_pmproec_pmpro_after_checkout', 10); // Run before PMPro MailChimp
// Add user to MailChimp after Validation
function my_pmproec_after_validate_user($user_id) {
if(function_exists('pmpromc_pmpro_after_checkout')) {
pmpromc_pmpro_after_checkout($user_id);
}
}
add_action('pmproec_after_validate_user', 'my_pmproec_after_validate_user');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment