Skip to content

Instantly share code, notes, and snippets.

@andrewodri
Created February 26, 2020 18:44
Show Gist options
  • Save andrewodri/fea3b5cfa113f40b17692100e37a97d2 to your computer and use it in GitHub Desktop.
Save andrewodri/fea3b5cfa113f40b17692100e37a97d2 to your computer and use it in GitHub Desktop.
Remove all users from Wordpress Multisite that do not belong to other sites
SET @site_id = 1;
SELECT user_id
FROM wp_usermeta
WHERE meta_key = CONCAT('wp_', @site_id, '_capabilities')
AND meta_value LIKE 'a:1:{s%'
HAVING user_id NOT IN (
SELECT user_id
FROM wp_usermeta
WHERE meta_key LIKE CONCAT('wp_', @site_id, '_capabilities')
AND meta_value LIKE 'a:1:{s%'
GROUP BY user_id
HAVING COUNT(user_id) > 1
ORDER BY user_id
);
DELETE FROM wp_users
WHERE id IN (
SELECT user_id
FROM wp_usermeta
WHERE meta_key = CONCAT('wp_', @site_id, '_capabilities')
AND meta_value LIKE 'a:1:{s%'
HAVING user_id NOT IN (
SELECT user_id
FROM wp_usermeta
WHERE meta_key CONCAT('wp_', @site_id, '_capabilities')
AND meta_value LIKE 'a:1:{s%'
GROUP BY user_id
HAVING COUNT(user_id) > 1
ORDER BY user_id
)
);
SELECT umeta_id FROM wp_usermeta
WHERE NOT EXISTS (
SELECT ID FROM wp_users WHERE wp_usermeta.user_id = wp_users.ID
);
DELETE FROM wp_usermeta
WHERE NOT EXISTS (
SELECT ID FROM wp_users WHERE wp_usermeta.user_id = wp_users.ID
);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment