Возникла необходимость удалить большое количество записей в WordPress. Удалять в админке очень нудно и долго. А если забыл пароль админа — то вообще не получится 🙂 Решение удалить записи только из таблицы wp_posts не самое правильное, так как в базе, в других таблицах остаются следы удаленных записей. А чтобы максимально чисто удалить записи было найдено вот такое решение:
DELETE `p`, `pm`, `c`, `tr` FROM `wp_posts` AS `p` LEFT JOIN `wp_postmeta` AS `pm` ON `p`.`ID` = `pm`.`post_id` LEFT JOIN `wp_comments` AS `c` ON `p`.`ID` = `c`.`comment_post_ID` LEFT JOIN `wp_term_relationships` AS `tr` ON `p`.`ID` = `tr`.`object_id` WHERE `p`.`post_type` = 'post'
Скармливаем этот запрос phpmyadmin и записи бесследно удаляются.