DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID=b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID=c.post_id)
WHERE a.post_type='customposttype'
Eu criei algumas postagens usando um tipo de post personalizado, então decidi excluir este tipo de post personalizado, mas é claro que as postagens antigas permaneciam órfãs dentro do banco de dados.
Como posso remover essas postagens órfãs e todos os anexos relacionados (post meta, etc.) com segurança do DB?
DELETE a,b,c FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID=b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID=c.post_id)
WHERE a.post_type='customposttype'
Você precisa usar algumas consultas SQL, pode executá-las em algo como PHPMyADMIN
DELETE FROM wp_posts WHERE 'post_type' = 'customposttypename'
DELETE FROM wp_post_meta WHERE 'meta_key' = 'metakeyname'
Os dois acima começarão você. Você pode precisar executar outras consultas para limpar outras entradas, mas somente você saberá quais outras coisas você inseriu no seu banco de dados.
Uma palavra de aviso! CERTIFIQUE-SE DE FAZER BACKUP DO SEU BANCO DE DADOS PRIMEIRO. E também antes de executar a consulta DELETE, use um SELECT * FROM primeiro para verificar o que é retornado e o que você deseja excluir.