Skip to content

Instantly share code, notes, and snippets.

@sidharrell
Forked from Apina/espresso_create_wp_user.php
Last active September 26, 2017 21:06
Show Gist options
  • Save sidharrell/6675041 to your computer and use it in GitHub Desktop.
Save sidharrell/6675041 to your computer and use it in GitHub Desktop.
add_action('action_hook_espresso_save_attendee_data','espresso_create_wp_user', 10, 1);
function espresso_create_wp_user($attendee_data) {
if( username_exists( $attendee_data['email'] ) == NULL ) {
global $org_options, $wpdb;
// Generate the password and create the user
$password = wp_generate_password( 12, false );
$user_id = wp_create_user( $attendee_data['email'], $password, $attendee_data['email'] );
// Set the users details
//Additional fields can be found here: http://codex.wordpress.org/Function_Reference/wp_update_user
wp_update_user(
array(
'ID' => $user_id,
'nickname' => $attendee_data['fname'] . ' ' . $attendee_data['lname'],
'display_name' => $attendee_data['fname'] . ' ' . $attendee_data['lname'],
'first_name' => $attendee_data['fname'],
'last_name' => $attendee_data['lname'],
'description' => __('Registered via event registration form.', 'event_espresso'),
)
);
// Set the role
$user = new WP_User( $user_id );
$user->set_role( 'subscriber' );
$wpdb->insert(EVENTS_MEMBER_REL_TABLE, array(
'event_id'=>$attendee_data['event_id'],
'user_id'=>$user_id,
'user_role'=>'subscriber',
'attendee_id'=>$attendee_data['attendee_id']
));
// Email the user
wp_mail( $attendee_data['email'], 'Welcome to ' . $org_options['organization'], 'Your Username: ' .$attendee_data['email']. ' Your Password: ' . $password );
} // end if
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment