Using WordPress ‘invited_user_email’ PHP filter

The invited_user_email WordPress PHP Filter allows you to modify the contents of the email sent when an existing user is invited to join the site.

Usage

add_filter('invited_user_email', 'customize_invited_user_email', 10, 7);
function customize_invited_user_email($new_user_email, $to, $subject, $message, $headers, $user_id, $role, $newuser_key) {
    // your custom code here
    return $new_user_email;
}

Parameters

  • $new_user_email (array): Used to build wp_mail().
  • $to (string): The email address of the invited user.
  • $subject (string): The subject of the email.
  • $message (string): The content of the email.
  • $headers (string): Headers.
  • $user_id (int): The invited user’s ID.
  • $role (array): Array containing role information for the invited user.
  • $newuser_key (string): The key of the invitation.

More information

See WordPress Developer Resources: invited_user_email

Examples

Customize the subject and message of the invitation email

Modify the email subject and content to make it more personalized.

add_filter('invited_user_email', 'customize_invitation_email', 10, 7);

function customize_invitation_email($new_user_email, $to, $subject, $message, $headers, $user_id, $role, $newuser_key) {
    $user = get_userdata($user_id);
    $subject = "Welcome, {$user->display_name}! You're invited to join our awesome site!";
    $message = "Hi {$user->display_name},\n\nWe'd love to have you on board. Please accept our invitation to join our site.\n\nBest regards,\nThe Team";

    $new_user_email['subject'] = $subject;
    $new_user_email['message'] = $message;

    return $new_user_email;
}

Add a custom header to the invitation email

Add a custom header to the email, such as a “Reply-To” address.

add_filter('invited_user_email', 'add_reply_to_header', 10, 7);

function add_reply_to_header($new_user_email, $to, $subject, $message, $headers, $user_id, $role, $newuser_key) {
    $headers .= "Reply-To: [email protected]\r\n";
    $new_user_email['headers'] = $headers;

    return $new_user_email;
}

Change the “To” email address

Send the invitation email to a different email address than the invited user.

add_filter('invited_user_email', 'change_to_email', 10, 7);

function change_to_email($new_user_email, $to, $subject, $message, $headers, $user_id, $role, $newuser_key) {
    $to = "[email protected]";
    $new_user_email['to'] = $to;

    return $new_user_email;
}

Add a custom footer to the email content.

add_filter('invited_user_email', 'add_email_footer', 10, 7);

function add_email_footer($new_user_email, $to, $subject, $message, $headers, $user_id, $role, $newuser_key) {
    $footer = "\n\n---\nThis is a custom footer for the invitation email.";
    $message .= $footer;
    $new_user_email['message'] = $message;
    return $new_user_email;
}

Change the user role in the email message

Modify the user role mentioned in the email content.

add_filter('invited_user_email', 'change_role_in_email', 10, 7);

function change_role_in_email($new_user_email, $to, $subject, $message, $headers, $user_id, $role, $newuser_key) {
    $custom_role = "Super Contributor";
    $message = str_replace($role['name'], $custom_role, $message);
    $new_user_email['message'] = $message;
    return $new_user_email;
}