Как ограничить, отключить, удалить ревизии WP?

При создании, редактировании и сохранении статей и их черновиков в WordPress по умолчанию автоматически создаются резервные копии записей, обычно именуемые как Ревизии или Редакции (revisions). Сохранение ревизий дело конечно полезное, но функционал сохранения ревизий имеет и отрицательную сторону.

Ведь все редакции сохраняются в базе данных вашего блога, в таблице wp_posts. И если у вас создано очень много записей, и при этом они часто редактировались, то размер базы данных окажется уж слишком большим. Кроме этого замедлится выполнение запросов к базе данных.

Ограничиваем количество ревизий

Для этого в файл wp-config.php достаточно добавить одну строку:

Скопировано
define( 'WP_POST_REVISIONS', 3 );
Показать код

В данном случае WordPress будет хранить 3 последние редакции.

Полностью отключаем ревизии

Для этого в файл wp-config.php добавляем ту же строку, но со значением ноль:

Скопировано
define( 'WP_POST_REVISIONS', 0 );
Показать код

Удаляем все ревизии из базы данных

Чтобы удалить все уже существующие ревизии из базы данных WordPress достаточно в phpMyAdmin выполнить такой SQL-запрос:

Скопировано
DELETE p,m,r FROM wp_posts p
LEFT JOIN wp_postmeta m ON (p.ID = m.post_id)
LEFT JOIN wp_term_relationships r ON (p.ID = r.object_id)
WHERE p.post_type = 'revision'
Показать код

Менять в нем ничего не нужно, надо лишь убедиться, что таблицы в БД начинаются со стандартного префикса wp_. Если это не так, то поменять в коде префикс на нужный.