Как ограничить, отключить, удалить ревизии 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_
. Если это не так, то поменять в коде префикс на нужный.