Forked from sethshoultes/espresso_create_wp_user.php
Last active
December 30, 2015 11:49
-
-
Save Pebblo/7825452 to your computer and use it in GitHub Desktop.
A function to create a new WP member using the registration details provided for the event, this function also adds the event they have just registered onto into the my events database so the initial events is displayed within 'My Events'
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 | |
//* Please do NOT include the opening php tag, except of course if you're starting with a blank file | |
add_action('action_hook_espresso_save_attendee_data','espresso_create_wp_user', 10, 1); | |
function espresso_create_wp_user($attendee_data) { | |
if( email_exists( $attendee_data['email'] ) == NULL ) { | |
global $org_options; | |
// 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' ); | |
// Email the user | |
wp_mail( $attendee_data['email'], 'Welcome to ' . $org_options['organization'], 'Your Username: ' .$attendee_data['email']. ' Your Password: ' . $password ); | |
if ( function_exists('espresso_members_installed') && espresso_members_installed() == true ) { | |
require_once(EVENT_ESPRESSO_MEMBERS_DIR . "member_functions.php"); //Load Members functions | |
require(EVENT_ESPRESSO_MEMBERS_DIR . "user_vars.php"); //Load Members functions | |
if ($user_id != 0) { | |
event_espresso_add_user_to_event( $attendee_data['event_id'], $user_id, $attendee_data['attendee_id'] ); | |
} | |
} | |
} // end if | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment