Как отключить ревизии в WordPress

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

Сохранение ревизий это дело конечно полезное, но у них также есть и обратная сторона медали. За счет того, что для каждой записи будет создано несколько копий, то от этого заметно будет увеличиваться база данных и как следствие работа WordPress станет более медленной. Поэтому, лучше данную функцию отключить.

Посмотреть список всех ревизий, созданных для статьи, вы можете внизу страницы редактирования записи. Они выглядят так:

Редакции записи

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

Отключаем ревизии

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

Раньше, в старых версиях WordPress, чтобы отключить ревизии, достаточно было прописать в файле wp-config.php следующую строку:

define('WP_POST_REVISIONS', false);

Теперь в WordPress версии 3 и более, ревизии отключаются немного по-другому. Для этого зайдите в директорию wp-includes и в ней найдите файл default-constants.php. Данный файл откройте в любом текстовом редакторе (Например, Notepad++).

В этом файле, внутри функции wp_functionality_constants(), найдите следующий кусок кода:

function wp_functionality_constants( ) {
. . .
	if ( !defined('WP_POST_REVISIONS') )
		define('WP_POST_REVISIONS', true);
. . .
}

И замените в нем значение true на false:

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

Теперь сохраните данный файл и обновите его на сервере.

После этих нехитрых действий, ревизии к записям перестанут создаваться, и база данных не будет наполняться мусором. Но мы также должны понимать, что в базе данных все еще остались ревизии, которые были созданы ранее. И они просто так никуда не исчезнут, поэтому теперь наша задача удалить их оттуда.

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

Внимание! Перед удаление ревизий, обязательно сделайте резервную копию базы данных.

Зайдите в phpMyAdmin, который находится в панели управления вашим хостингом. В верхнем меню кликните по ссылке «SQL». И в текстовое поле введите следующий SQL-запрос:

DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = 'revision';

Обратите внимание, что в запросе используются названия таблиц wp_posts, wp_term_relationships и wp_postmeta с префиксом «wp_». Если при установке блога, вы указывали другой префикс, то в данном SQL-запросе в названиях таблиц измените его на свой.

И кликните по кнопке «OK».

Все поздравляю, старые ревизии были полностью удалены, а новые теперь не будут создаваться, и не будут засорять вашу базу данных. Чего мы и хотели добиться.

P.S. Если вам понравилась статья, пожалуйста поделитесь ей с друзьями и коллегами. Нажмите на социальные кнопки ниже или оставьте свой комментарий!

Понравилась статья?

Тогда оставь свой комментарий или расскажи о ней своим друзьям и коллегам.

Комментарии ВКонтакте

Добавить комментарийКомментариев (11)

Николай 13 ноября в 09:05

Поразительно. У меня и в wp-config прописано и в default-constants.php поменял, а редакции все равно штампует...
Версия 4.6.1. Вы не в курсе, у них там появился еще какой-то вариант???

Ответить

Евгений 29 апреля в 16:38

Здравствуйте, Александр!

Тоже по причине лени, постоянно пользуюсь Вашей статьёй)
За которую Вам огромное, человеческое - Спасибо!
Вот и сегодня, снова))) Успеха Вам и всех благ!

Ответить

Danzig 14 декабря 2015 г. в 18:48

DELETE FROM wp_posts WHERE post_type = "revision";

Ответить

Nixx 11 ноября 2015 г. в 12:09

(functions.php - в папке с темой оформления)
function disableAutoSave(){
wp_deregister_script('autosave');
}
add_action( 'wp_print_scripts', 'disableAutoSave' );

Ответить

Владимир 23 сентября 2014 г. в 10:57

Прекрасная статья.Все понятно и легко.Спасибо большое.По WP можно ли урок по плагину позволяющему назначать встречи на сайте ?

Ответить

Александр Пауков 23 сентября 2014 г. в 15:34

Владимир, я подумаю над записью данного урока.

Ответить

Александр 13 июля 2014 г. в 22:11

Спасибо, вроде помогло, посмотрим, что будет дальше:)

Ответить

Vladimir Vladimirovich 22 ноября 2013 г. в 01:15

Спасибо большое Саша. Очень помогли твои советы. Теперь с ревизиями покончено.

Ответить

Елена Олейникова 31 августа 2013 г. в 10:27

Профессионально или нет, не мне решать, но ведь именно этот способ помог. Хотя всякие там инфогуру в своих курсах рекомендуют редактировать файл wp-config.php . Так что автору - спасибо! 🙂

Ответить

Федя 18 июня 2014 г. в 12:55

Елена Олейникова, после пары обновлений wordpress, вы уже не будете радоваться

Ответить

Danzig 14 декабря 2015 г. в 18:50

Да, придётся каждый раз ручками лазить, а движок апдейтится почти раз в неделю и легко этими самыми ручками зацепить что-то ещё, а потом по форумам искать ответа «Отчего и почему у меня перестало работать?»

Ответить
Наверх

Скачивание материалов доступно
только подписчикам!

Если вы подпишитесь, то сможете сразу же получить доступ ко всем материалам этого блога

Подписка бесплатная и займет у вас
не более 1 минуты

Получение доступа к материалам

Для получения доступа, заполните форму ниже. Введите свое настоящее имя и e-mail

« Вернуться назад

Проверьте свой почтовый ящик

и подтвердите подписку

После этого вы сразу же получите доступ ко всем материалам этого блога

Введите e-mail, который вы указывали при подписке

Мы проверим его по базе подписчиков и если вы на самом деле подписывались, то доступ для вас сново будет открыт

« Вернуться назад