do_action( 'user_register', int $user_id, array $userdata )

Fires immediately after a new user is registered.



(int) User ID.


(array) The raw array of data passed to wp_insert_user().

Top ↑

More Information

This action hook allows you to access data for a new user immediately after they are added to the database. The user id is passed to hook as an argument.

Not all user meta data has been stored in the database when this action is triggered. For example, nickname is in the database but first_name and last_name are not (as of v3.9.1). The password has already been encrypted when this action is triggered.

Typically, this hook is used for saving additional user meta passed by custom registration forms.

Top ↑


File: wp-includes/user.php

View on Trac

Top ↑


Version Description
5.8.0 The $userdata parameter was added.
1.5.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by Steven Lin

    Example migrated from Codex:

    This example will save a first_name field passed by a custom registration field.

    Also, keep in mind that validation of registration fields should not be performed within this hook! Validate using the registration_errors hook instead (the user_register hook will not be called if registration_errors validation fails).

    add_action( 'user_register', 'myplugin_registration_save', 10, 1 );
    function myplugin_registration_save( $user_id ) {
        if ( isset( $_POST['first_name'] ) )
            update_user_meta($user_id, 'first_name', $_POST['first_name']);

You must log in before being able to contribute a note or feedback.