The register_new_user WordPress PHP action fires after a new user registration has been recorded.
Usage
add_action('register_new_user', 'your_custom_function');
function your_custom_function($user_id) {
// your custom code here
}
Parameters
$user_id(int) – ID of the newly registered user.
More information
See WordPress Developer Resources: register_new_user
Examples
Send a welcome email to the new user
Send a welcome email to the new user after they have successfully registered.
add_action('register_new_user', 'send_welcome_email_to_new_user');
function send_welcome_email_to_new_user($user_id) {
$user = get_userdata($user_id);
$email = $user->user_email;
$subject = 'Welcome to our website!';
$message = 'Hello! Thank you for registering on our website. We hope you enjoy your experience.';
wp_mail($email, $subject, $message);
}
Assign a custom role to a new user
Assign a custom role to a new user based on their email domain.
add_action('register_new_user', 'assign_custom_role_based_on_email');
function assign_custom_role_based_on_email($user_id) {
$user = get_userdata($user_id);
$email = $user->user_email;
$domain = substr(strrchr($email, "@"), 1);
if ($domain == 'example.com') {
$user->set_role('custom_role');
}
}
Log new user registrations
Log the user ID and registration timestamp for all new user registrations.
add_action('register_new_user', 'log_new_user_registrations');
function log_new_user_registrations($user_id) {
$logfile = fopen('registration_log.txt', 'a');
$log_entry = 'User ID: ' . $user_id . ', Registered at: ' . date('Y-m-d H:i:s') . "\n";
fwrite($logfile, $log_entry);
fclose($logfile);
}
Add a meta field to new users
Add a custom meta field called ‘signup_source’ to new users with a default value.
add_action('register_new_user', 'add_signup_source_meta_field');
function add_signup_source_meta_field($user_id) {
$signup_source = 'default';
add_user_meta($user_id, 'signup_source', $signup_source);
}
Send an admin notification for new user registrations
Notify the site administrator via email when a new user registers.
add_action('register_new_user', 'send_admin_notification_new_user');
function send_admin_notification_new_user($user_id) {
$user = get_userdata($user_id);
$email = get_option('admin_email');
$subject = 'New user registration on your website';
$message = 'A new user has registered on your website with the following details: Username - ' . $user->user_login . ', Email - ' . $user->user_email;
wp_mail($email, $subject, $message);
}