UsersWP keeps profile data in its own table, uwp_usermeta, with one row per user, and deletes that row when the user is deleted or removed from the site. On multisite, “delete” in a subsite does not delete the account, which is why users can seem to stay behind.
Remove and delete on multisite
In a subsite’s Users screen, WordPress only removes the user from that site. The account stays in the network, so the same email address cannot register again. To delete the account itself, go to Network Admin > Users and delete it there.
Which table UsersWP uses
- Network activated: one shared table for the whole network with the main prefix, for example
wp_uwp_usermeta. - Activated on each site: every site has its own table with that site’s prefix, for example
wp_3_uwp_usermeta.
When a user is removed from a site, UsersWP deletes their row from the table it uses on that site. With the shared table, that clears their UsersWP profile data for the whole network. UsersWP has to be active on the site where the user is removed or deleted. If it is not active there, its code does not run and the row stays.
See Using UsersWP on Multisite Networks for the installation types.
Clean up rows left behind
Rows for users who no longer exist do no harm, but you can remove them with SQL, for example in phpMyAdmin. Back up the database first and change the table names to match your site.
DELETE FROM wp_3_uwp_usermeta
WHERE user_id NOT IN ( SELECT ID FROM wp_users );
On multisite all users live in the network’s main users table (wp_users above), even when the UsersWP table has a site prefix.