Skip to content

Instantly share code, notes, and snippets.

@JudeRosario
Last active August 29, 2015 14:14
Show Gist options
  • Save JudeRosario/e6a3905f859d18648c6e to your computer and use it in GitHub Desktop.
Save JudeRosario/e6a3905f859d18648c6e to your computer and use it in GitHub Desktop.
Integrates MailChip with Membership and BuddyPress
add_action( 'bp_core_signup_user', 'integrate_profile_fields' ) ;
function integrate_profile_fields ($user_id, $user_login, $user_password, $user_email, $usermeta) {
require_once( MAILCHIMP_PLUGIN_DIR.'mailchimp-sync.php' );
require_once( MAILCHIMP_PLUGIN_DIR.'helpers.php' );
$mailchimp_mailing_list = get_site_option('mailchimp_mailing_list');
$mailchimp_auto_opt_in = get_site_option('mailchimp_auto_opt_in');
$name = explode(" ", xprofile_get_field_data( 1, $user_id)) ;
$autopt = $mailchimp_auto_opt_in == 'yes' ? true : false;
$user = get_userdata($user_id);
$merge_vars = array( 'FNAME' => $name[0]
, 'LNAME' => $name[1]." ".$name[2]." ".$name[3]
);
$merge_groups = mailchimp_get_interest_groups();
if ( ! empty( $merge_groups ) )
$merge_groups = array( 'groupings' => $merge_groups );
$merge_vars = array_merge( $merge_vars, $merge_groups );
mailchimp_subscribe_user( $user->user_email, $mailchimp_mailing_list, $autopt, $merge_vars, true );
}
add_action( 'wp_login', 'update_profile_fields', 10, 2);
add_action( 'xprofile_updated_profile', 'integrate_profile_fields' );
add_action( 'bp_core_signup_user', 'integrate_profile_fields' );
add_action( 'bp_core_activated_user', 'integrate_profile_fields' );
function update_profile_fields($user_login, $user) {
require_once( MAILCHIMP_PLUGIN_DIR.'mailchimp-sync.php' );
require_once( MAILCHIMP_PLUGIN_DIR.'helpers.php' );
$mailchimp_mailing_list = get_site_option('mailchimp_mailing_list');
$mailchimp_auto_opt_in = get_site_option('mailchimp_auto_opt_in');
$name = explode(" ", $_POST['field_1']) ;
$autopt = $mailchimp_auto_opt_in == 'yes' ? true : false;
// $user = get_userdata($user_id);
$merge_vars = array( 'FNAME' => $name[0]
, 'LNAME' => $name[1]." ".$name[2]." ".$name[3]
);
$merge_groups = mailchimp_get_interest_groups();
if ( ! empty( $merge_groups ) )
$merge_groups = array( 'groupings' => $merge_groups );
$merge_vars = array_merge( $merge_vars, $merge_groups );
mailchimp_subscribe_user( $user->user_email, $mailchimp_mailing_list, $autopt, $merge_vars, true );
}
function integrate_profile_fields ($user_id) {
require_once( MAILCHIMP_PLUGIN_DIR.'mailchimp-sync.php' );
require_once( MAILCHIMP_PLUGIN_DIR.'helpers.php' );
$mailchimp_mailing_list = get_site_option('mailchimp_mailing_list');
$mailchimp_auto_opt_in = get_site_option('mailchimp_auto_opt_in');
$name = explode(" ", xprofile_get_field_data( 1, $user_id)) ;
$autopt = $mailchimp_auto_opt_in == 'yes' ? true : false;
$user = get_userdata($user_id);
$merge_vars = array( 'FNAME' => $name[0]
, 'LNAME' => $name[1]." ".$name[2]." ".$name[3]
);
$merge_groups = mailchimp_get_interest_groups();
if ( ! empty( $merge_groups ) )
$merge_groups = array( 'groupings' => $merge_groups );
$merge_vars = array_merge( $merge_vars, $merge_groups );
mailchimp_subscribe_user( $user->user_email, $mailchimp_mailing_list, $autopt, $merge_vars, true );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment