WordPress досить давно має функціонал, що дозволяє зберігати резеврну копію ваших публікацій при кожній їх зміні, так звані редакції (або ревізії). Завдяки цьому ви маєте можливість переглядати усі змінені попередньо версії та відновити будь-яку з них.
При цьому ви маєте розуміти, що кожна така копія зберігається в базі даних аналогічно оригіналу запису, і якщо на вашому сайті досить багато інформації, то ревізії займають велику кількість місця в базі MySQL.
Давайте швидко подивимося, що з цим можна зробити.
Це можна зробити, якщо додати у файл конфігурації wp-config.php наступний рядок:
define( 'WP_POST_REVISIONS', 3 );
Або ви можете створити маленький плагін чи додати даний код у файл functions.php в кореневій папці вашого шаблону:
function wph_revision( $revisions ) {
return 3;
}
add_filter( 'wp_revisions_to_keep', 'wph_revision' );
Для вимкнення можна використати методи, описані в минулому абзаці, просто змініть кількість з 3 на 0, наприклад:
define( 'WP_POST_REVISIONS', 0 );
Як видалити усі редакції
Для видалення усіх редакцій з бази даних за допомогою SQL запитів виконайте наступні запити у вказаному порядку. Попередньо обов’язково зробіть бекап бази даних та змініть в наведених прикладах запитів префікс таблиць wp_ на свій, що вказано у вашому файлі конфігурації wp-config.php :
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%');
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_name LIKE '%revision%';
Якщо для вас простіше скористатися готовим рішення, спробуйте плагін http://wordpress.org/plugins/revision-control/ , що дозволить провести описані маніпуляції без зміни коду сайту через адмінку WordPress