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

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

Ревизии, редакции записей WordPress


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

Увидеть список доступных ревизий Вы можете в нижней части страницы редактирования записей:

Ревизии, редакции записей WordPress

Ревизии, редакции записи WordPress

Отключить, ограничить, удалить ревизии WordPress оказывается совсем не сложно.
Давайте все разберем по порядку на примере WordPress 3.3.1.

Но только не забудьте перед внесением модификаций создать резервную копию базы данных!

Отключение ревизии в WordPress

Для того, чтобы отключить создание ревизий (редакций), нужно добавить одну строчку в файл wp-config.php

	define('WP_POST_REVISIONS', 0);

или:

	define('WP_POST_REVISIONS', false);

Есть еще и другой вариант отключения ревизий — изменить одно из значений с «true» на «0» или «false» в функции wp_functionality_constants(), которая находится в файле /wp-includes/default-constants.php

function wp_functionality_constants( ) {
	...

	if ( !defined('WP_POST_REVISIONS') )
		define('WP_POST_REVISIONS', false);
	...

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

Для того, чтобы ограничить количество ревизий (редакций), нужно добавить одну строчку в файл wp-config.php, как было при отключении ревизий, но вместо значения «0» или «false» указать целое число:

	define('WP_POST_REVISIONS', 3);

В этом случае будет создаваться максимум 3 ревизии на одну статью, плюс одна копия «Автосохранение».

Заметка на память:
Внесение выше указанных изменений сразу не уменьшит количество ревизий, которые уже существуют в базе данных. Но изменения вступят в силу при обновлении уже существующих записей, причем по отдельности. Они также будут учтены при создании новых записей. Еще стоит учесть, что в режиме редактирования кроме ревизий в базе данных каждые 60 секунд будет записываться одна единственная копия записи как «Автосохранение».

Удалить все ревизии WordPress из базы данных

Если ваш блог существует уже давно и в нем много записей, то не помешает оптимизировать его базу данных, удалив ранее созданные ревизии (редакции), и тем самым уменьшить размер таблицы wp_posts.

Внимание! Не забудьте перед удалением всех ревизий создать резервную копию базы данных! Иначе восстановить удаленные ревизии уже будет не возможно.

Итак, нам понадобится выполнить несколько действий:

1. Войдите в панель управления базами данных, например в phpMyAdmin;
2. Выберите по имени базу данных, которая используется вашим блогом;
3. Кликните по кнопке (или закладке) с надписью «SQL» (обычно она находится вверху страницы);
4. В поле для SQL-запросов введите этот запрос:

	DELETE FROM wp_posts WHERE post_type = "revision";

5. Нажмите кнопку «Ok», чтобы выполнить запрос;

Вот и все. Теперь база данных вашего блога, а конкретнее таблица wp_posts, намного уменьшилась в размере.

Напоследок хочу сказать, что приведенный выше пример удаления ревизий (редакций) является самым простым и не гибким. Возможно Вы захотите удалить не все ревизии, а выборочно, например оставив в каждой записи по три последних редакции. В таком случае придется либо выполнить более совершенный запрос в базе данных, либо воспользоваться специальным плагином. Благо плагинов для управлением ревизиями и базами данных существует предостаточно.

Метки: , ,
Другие статьи похожей тематики:

Поделитесь материалом с другими, воспользуйтесь этими кнопками:
Получать обновления и новые материалы блога по E-mail

9 комментариев к “Как отключить, ограничить, удалить ревизии WordPress”

  1. esst:

    Хорошая статья. Я до сих пор и не знал, что можно весь редакционный хлам из базы данных удалить так просто одной командой, все хотел подобрать плагин какой нибудь. Но теперь и не буду плагин ставить для ревизий, а то итак уже очень много плагинов наставил.

  2. esst:

    извиняюсь, я там неглядя английскими написал, хотел написать «одной командой» :(

  3. Юрий:

    Плагин wp-optimize, если не ошибся в обозначении, тоже помогает, но ваш вариант получше будет.

    • Да, есть такой, WP-Optimize. Но кроме него еще и другие есть плагины, которые помогают настроить управление ревизиями, почистить базу данных и т.д. Я сам лично просто предпочитаю не использовать много плагинов, поэтому все, что не слишком сложно и что не приходится делать слишком часто, делаю вручную :)

  4. Евгений:

    Отлично! Спасибо, удалил 287 ревизий!

    • Поздравляю! :)
      Мне на днях один чел отписывался, что мол удалил около 2000 ревизий и потом испугался, когда увидел, что на сервере в базе данных места много стало, подумав, что базу грохнули, а потом понял, что это за два года у него столько хлама накопилось :)

  5. Простой:

    Классная статья! )) Ревизии удалены.

  6. Rymljanyn:

    Отлично узнавать новое и нужное новичку. Автору СПС

Оставить комментарий

Подписаться на обновления блога 4remind.ru по RSS
Новости блога в социальных сетях

="4remind.ru

Rambler's Top100
Рейтинг@Mail.ru


Яндекс.Метрика