Удаление ревизий записей в wordpress без плагинов из консоли.
В первую очередь отключим сохранение ревизий. Откроем файл wp-config.php в папке сайта. И добавим в него строку:
define('WP_POST_REVISIONS', false);
Перед выполнением работ с базой сделаем дамп базы на случай непредвиденных последствий.
# mysqldump -u пользователь_mysql -p имя_базы_wordpress > dump.sql
Система спросит пароль пользователя mysql.
Мы сделали дамп, теперь можно работать с базой. Если что-то пойдёт не так, мы всегда можем восстановить её из дампа. Подключимся к серверу mysql
# mysql -u пользователь_mysql -p
Система спросит пароль пользователя mysql, логинимся. Всё, мы в консоли mysql.
Выберем базу с которой будем работать, соответственно нам нужно знать название базы с которой работает wordpress.
mysql> USE имя_базы_wordpress;
Удаляем метаданные
mysql> DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’);
Удаляем таксономию
mysql> DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’);
Теперь удаляем сами ревизии.
mysql> DELETE FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’;
И в конце выполняем оптимизацию таблицы
mysql> OPTIMIZE TABLE wp_posts;
Всё, ревизии удалены. Проверяем работоспособность сайта.