Skip to content

Instantly share code, notes, and snippets.

@codearachnid
Last active August 23, 2023 19:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codearachnid/d015bae09a5a628e2ba8f7cbe32bf086 to your computer and use it in GitHub Desktop.
Save codearachnid/d015bae09a5a628e2ba8f7cbe32bf086 to your computer and use it in GitHub Desktop.
Safely delete orphan postmeta, attachment, gravity form entries in WordPress database *** ALWAYS BACKUP YOUR DATA FIRST ***
-- List all orphan rows from wp_postmeta
SELECT * FROM wp_postmeta
LEFT JOIN wp_posts ON wp_posts.ID = wp_postmeta.post_id
WHERE wp_posts.ID IS NULL;
-- Delete orphan postmeta
DELETE pm
FROM wp_postmeta pm
LEFT JOIN wp_posts p ON pm.post_id = p.ID
WHERE p.ID IS NULL;
-- List all orphan attachments from wp_postmeta
SELECT * FROM wp_posts p1
LEFT JOIN wp_posts p2 ON p1.post_parent = p2.ID
WHERE p1.post_parent > 0 AND p1.post_type = 'attachment' AND p2.ID IS NULL;
-- Delete orphan attachment
DELETE p1
FROM wp_posts p1
LEFT JOIN wp_posts p2 ON p1.post_parent = p2.ID
WHERE p1.post_parent > 0 AND p1.post_type = 'attachment' AND p2.ID IS NULL;
-- List all orphan gravity forms entries
SELECT * FROM wp_rg_lead_detail_long
LEFT JOIN wp_rg_lead_detail ON (wp_rg_lead_detail_long.lead_detail_id = wp_rg_lead_detail.lead_id)
WHERE (wp_rg_lead_detail.lead_id IS NULL)
-- Delete orphan gravity forms entries
DELETE wp_rg_lead_detail_long FROM wp_rg_lead_detail_long
LEFT JOIN wp_rg_lead_detail ON (wp_rg_lead_detail_long.lead_detail_id = wp_rg_lead_detail.lead_id)
WHERE (wp_rg_lead_detail.lead_id IS NULL)
@master-roma
Copy link

Thanx!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment