Skip to content

Instantly share code, notes, and snippets.

@Pebblo
Forked from sethshoultes/espresso_create_wp_user.php
Last active December 30, 2015 11:49
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Pebblo/7825452 to your computer and use it in GitHub Desktop.
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'
<?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