The remove_user_from_blog WordPress PHP action fires before a user is removed from a site.
Usage
add_action('remove_user_from_blog', 'my_custom_function', 10, 3); function my_custom_function($user_id, $blog_id, $reassign) { // Your custom code here }
Parameters
$user_id
(int) – ID of the user being removed.$blog_id
(int) – ID of the blog the user is being removed from.$reassign
(int) – ID of the user to whom to reassign posts.
More information
See WordPress Developer Resources: remove_user_from_blog
Examples
Log user removal
Log when a user is removed from a blog.
add_action('remove_user_from_blog', 'log_user_removal', 10, 3); function log_user_removal($user_id, $blog_id, $reassign) { error_log("User ID {$user_id} has been removed from blog ID {$blog_id}."); }
Notify user when removed
Send a notification email to the user being removed from the blog.
add_action('remove_user_from_blog', 'notify_user_removal', 10, 3); function notify_user_removal($user_id, $blog_id, $reassign) { $user_data = get_userdata($user_id); $blog_name = get_bloginfo('name', 'display'); $subject = "Removed from {$blog_name}"; $message = "You have been removed from the {$blog_name} blog."; wp_mail($user_data->user_email, $subject, $message); }
Remove user from a custom table
Remove the user from a custom table when they are removed from the blog.
add_action('remove_user_from_blog', 'remove_user_from_custom_table', 10, 3); function remove_user_from_custom_table($user_id, $blog_id, $reassign) { global $wpdb; $wpdb->delete($wpdb->prefix . 'my_custom_table', array('user_id' => $user_id), array('%d')); }
Reassign user’s custom data
Reassign the removed user’s custom data to the specified user.
add_action('remove_user_from_blog', 'reassign_user_custom_data', 10, 3); function reassign_user_custom_data($user_id, $blog_id, $reassign) { global $wpdb; $wpdb->update($wpdb->prefix . 'my_custom_data', array('user_id' => $reassign), array('user_id' => $user_id), array('%d'), array('%d')); }
Remove user’s role from another blog
Remove the user’s role from another related blog when they are removed from the current blog.
add_action('remove_user_from_blog', 'remove_user_from_another_blog', 10, 3); function remove_user_from_another_blog($user_id, $blog_id, $reassign) { $another_blog_id = 2; // The ID of the other blog remove_user_from_blog($user_id, $another_blog_id, $reassign); }