Support

Home Forums Event Espresso Premium Update User Meta

Update User Meta

Posted: December 19, 2013 at 2:47 pm


Cedar Springs Ski Club

December 19, 2013 at 2:47 pm

Hi, I’ve been trying to do what it was discussed on a topic created by Stian Morsund https://eventespresso.com/topic/add-profile-information-from-registration-page/

Unfortunately, I have not been able to make it work. I have couple issues, first I’m also using the code from https://gist.github.com/sethshoultes/5574217 to create an user and it works but the admin is not receiving the notification email that one normally gets when a new user is created. And second, I’m trying to follow the instructions to update user meta but I’m getting coding error. Please help, thanks!


Tony

  • Support Staff

December 20, 2013 at 8:30 am

Hi Cedar,

If you can post the code, or upload somewhere for us to view we can guide you a little better.

In effect the simplest method is to wrap each field within the update_user_meta() function from the post linked. Like this for example from line 27:

update_user_meta($user_id, 'event_espresso_address’, $attendee_data['address'])
update_user_meta($user_id, 'event_espresso_address2’, $attendee_data['address2'])

Edit – altered code


Cedar Springs Ski Club

December 20, 2013 at 9:27 am

Hi Tony, thanks for your quick reply. This is what I have and is not working.

/**
* Event Esspresso Create User
*/
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;

// Generate the password and create the user
$password = wp_generate_password( 12, true );
$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’ );

//Update User Meta
update_user_meta($user_id, ‘event_espresso_address’, sanitize_text_field( $_POST[‘event_espresso_address’] ));

// Email the user
wp_mail( $attendee_data[’email’], ‘Welcome to ‘ . $org_options[‘organization’], ‘Your Username: ‘ .$attendee_data[’email’]. ‘ Your Password: ‘ . $password );

} // end if
}

Please let me know what am I doing wrong, thanks!


Sidney Harrell

December 20, 2013 at 12:24 pm

I thought I remembered working on this before. Try this code:


Cedar Springs Ski Club

December 20, 2013 at 2:08 pm

Hi Sidney, thanks a lot that worked, amazing support! One last thing and I’m done with this, normally when one creates a user in wordpress the admin receives an email too. Is there a way to include that in the code? Thanks again!


Seth Shoultes

  • Support Staff

December 21, 2013 at 12:27 am

Hi,

Think WP would send that out automatically. You could probably another wp_mail line that has the site admin info in it.

Hope that helps.


Cedar Springs Ski Club

December 23, 2013 at 7:48 am

Hi Seth, yes normally WP send a notification automatically but it’s not doing it when the user is created using EE forms. I’ll try adding another email line. Thanks!


Tony

  • Support Staff

December 23, 2013 at 10:01 am

You could try using the wp_new_user_notification() function.

http://codex.wordpress.org/Function_Reference/wp_new_user_notification

You would need to modify the code and remove the current wp_mail call otherwise the user will receive two confirmation emails.

The support post ‘Update User Meta’ is closed to new replies.

Have a question about this support post? Create a new support post in our support forums and include a link to this existing support post so we can help you.

Event Espresso