Отключение ревизий или ограничение их количества при редактировании страниц и записей в WordPress. Удаление всех редакций из базы данных сайта.
Сохранение ревизий в WordPress
По умолчанию WordPress сохраняет все ревизии записей и статей при промежуточных сохранениях в процессе их редактирования. Вместе с ревизиями в базе данных может сохранятся и другая информация: их мета-данные и таксономия.
Вряд ли они могут оказать какое-либо негативное влияние на небольшой сайт, но со временем база данных будет разрастаться, а ревизии в ней будут занимать значительно больший объем, чем опубликованные страницы и записи.
Перед отключением ревизий и удалением старых редакций не забудьте сделать резервные копии файлов и базы данных вашего сайта.
Отключение или ограничение ревизий
Сохранение ревизий записей и страниц в базе данных сайта WordPress можно выключить совсем или ограничить их количество. Для этого необходимо открыть файл wp-config.php и, чтобы отключить сохранение ревизий полностью, добавить строку:
1 |
define('WP_POST_REVISIONS', false); |
Для того, чтобы ограничить количество сохраняемых редакций, замените в добавляемой строке слово false на число, соответствующее желаемому количеству сохраняемых ревизий. Например, для сохранения 3 ревизий добавляемая строка будет выглядеть так:
1 |
define('WP_POST_REVISIONS', 3); |
Число 0 в этом выражении будет соответствовать ключевому слову false.
Обратите внимание на то, что добавляемая строка должна быть размещена в файле wp-config.php после строки:
1 |
define('WP_DEBUG', false); |
и перед строкой:
1 |
/* Это всё, дальше не редактируем. Успехов! */ |
У меня добавлено так:
1 2 3 4 5 6 |
define('WP_DEBUG', false); /* Отмена или ограничение количества редакций */ define('WP_POST_REVISIONS', false); /* Это всё, дальше не редактируем. Успехов! */ |
Удаление сохраненных редакций
Если вы не сразу отключили сохранение ревизий, то их могло уже набраться достаточно много и, если есть желание, старые редакции можно удалить. Для этого необходимо войти в приложение phpMyAdmin, выбрать базу данных и перейти на вкладку SQL:
Перед удалением всех ревизий из базы данных сайта WordPress, необходимо удалить сначала их мета-данные и таксономию, если они имеются. Скопируйте и вставьте в поле ввода по очереди следующие три команды и нажмите кнопку «Вперёд». Если при установке WordPress вы указали для таблиц базы данных префикс отличный от «wp_», замените в командах ниже «wp_» на свой префикс.
Удаление мета-данных
копируем и вставляем в поле ввода SQL-запроса следующую строку:
1 |
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%'); |
и нажимаем кнопку «Вперёд».
Удалении таксономии
копируем и вставляем в поле ввода SQL-запроса следующую строку:
1 |
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%'); |
и нажимаем кнопку «Вперёд».
Удаление всех ревизий
копируем и вставляем в поле ввода SQL-запроса следующую строку:
1 |
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%'; |
и нажимаем кнопку «Вперёд».
После выполнения каждой команды вы увидите в информационном окне сколько удалено строк из базы данных.
После создания очередного сайта на WordPress вспомнил о ревизиях, когда почти закончил работу над первой записью. При удалении получены следующие результаты:
- мета-данные — удалено 0 строк;
- таксономия — удалено 0 строк;
- ревизии — удалено 33 строки.
При редактировании одной записи, которое еще не закончено, было создано 33 ненужных мне ревизии. Мета-данных и таксономии, связанных с ревизиями, создано не было.
Спасибо, помогли.
Спасибо!
Супер. Спасибо 🙂
Обсуждение закрыто.