При створенні, редагуванні та збереженні статей та їх чернеток у WordPress за замовчуванням автоматично створюються резервні копії записів, які зазвичай називаються як Ревізії або Редакції(Revisions).
Збереження ревізій справа, звичайно, корисна, оскільки наприклад при помилках у форматуванні матеріалу, збоях вашого комп'ютера або сервера вам надається можливість відновити будь-яку з попередніх версій вашого запису. Але функціонал збереження ревізій має і негативний бік.

Адже всі резервні копії (ревізії, редакції) зберігаються у базі даних вашого блогу, у таблиці wp_posts. І якщо у вас створено дуже багато записів, і при цьому вони часто редагувалися, то розмір бази даних виявиться занадто великим. Крім цього, сповільниться виконання запитів до бази даних.

Побачити список доступних ревізій Ви можете у нижній частині сторінки редагування записів:

Ревізії, редакції запису 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, набагато зменшилася у розмірі.

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

Більшість користувачів WordPress навіть не підозрюють про таке поняття, як “ревізії WordPress”, проте корисно уявляти, що це таке, а в деяких випадках бажано знати, як ці ревізії відключити.

Отже, ревізії (або редакції) – це копії ваших постів, створювані при кожному збереженні або автозбереженні сторінки під час її зміни. Робиться це випадок, якщо вам захочеться повернутися до попередньої редакції тексту або на випадок несподіваного збою в роботі комп'ютера або зв'язку.

Вважаю, що якщо у вас немає жодних проблем у роботі сайту, він не має великої бази, яку хотілося б скоротити і немає зауважень до швидкості формування сторінок, вам не варто турбуватися про наявність на сайті редакцій.

Побачити сформовані ревізії (у термінах російського WordPress) можна під вікном редагування.

Перейшовши на будь-яку з редакцій тексту у списку, ви повернете текст у стан, який відповідає часу, коли ця редакція була збережена.

Як ми можемо бачити для кожного запису може існувати багато його редакцій, і для сайту з великою кількістю записів вони можуть займати суттєвий обсяг дискового простору, що може призвести до проблем у його роботі.

Для невеликих сайтів це неактуально, проте якщо у вас тисячі записів і кожна представлена ​​в кількох редакціях, це може істотно збільшити розмір бази даних. По-перше – це уповільнює роботу з базою даних, по-друге – ці записи займають місце на хостингу, а по-третє, що, наприклад, було актуально для мене, це може перешкодити автоматичному резервному копіюванню ваших даних. У мене дані сайту регулярно автоматично архівуються плагіном та відправляються на певний е-мейл. За перевищення архівом граничного розміру для електронної пошти така технологія перестала працювати.

Налаштування ревізій

Як же видалити редакцію Wordpress? По-перше, можете вказати у файлі wp-config.php (перебуває в кореневій папці вашого сайту) таку інструкцію:

define("WP_POST_REVISIONS", 0);

що означає збереження лише трьох останніх ревізій.

Видалити ревізії, які вже накопичилися в базі даних, можна принаймні двома способами.

1. Видалення прямо в базі

Заходимо в phpMyAdmin потім у потрібну базу даних. Потім у верхньому меню переходимо на вкладку - SQL. З'явиться вікно, в якому потрібно ввести команду SQL:

І тиснемо внизу кнопку - "OK" (або "Вперед"). Усі, редакції видалені.

Після поїзда під назвою «всі версії WordPress до 5.0» пишу цю запізнілу статтю про ревізії або редакції WordPress. Чому пізню? Тому що WordPress revisions system з редактором Gutenberg не буде.

The WordPress revisions system

Найчастіше зустрічається назва, того що я хочу написати, – ревізії WordPress. По-русски, правильніше цю функцію системи назвати «Редакції WordPress». Саме так переведено цю функцію в консолі. Рідна назва цього функціоналу, The revision system, що перекладаємо, як Система перегляду. Я називатиму цю функцію системи, як редакції WordPress.

Отже, редакції WordPress це збережені в базі даних копії статей, які адміністратор вносить у поле текстового редактора системи.

Статті можуть потрапити до редакції WordPress, як після натискання кнопки «Зберегти» в редакторі, так і внаслідок автозбереження. Редакції статей та сторінок запам'ятовуються за датою та часом.

Автозбереження статті цеавтоматичне запам'ятовування матеріалу системою без бажання адміністратора. Відбувається автозбереження періодично, кожні 2 хвилини. Кожна наступна копія переписує попередню. У списку редакції ця копія так і позначається "Автозбереження" (див. скрін нижче).

Чим більше ви працюєте у редакторі, тим більше автозбережених копій будуть у базі даних вашого сайту. Якщо до них додати копії збережень зроблених вручну, то ставатиме очевидна сміттєва приналежність цієї «Системи перегляду». Про це трохи нижче.

Налаштування та керування редакції WordPress

Давайте подивимося, як взагалі працює цей інструмент. Всі можливості подивимося на вкладці «Редагувати запис», адміністративній частині сайту. Аналогічно працює у редакторі сторінок.

Увага! На складках додавання записів та додавання сторінок полів редакції НІ.

Налаштування

Щоб прибрати перегляд збережених редакцій статті (сторінок), за замовчуванням вона увімкнена, звертаємось до кнопки «Налаштування» у верхньому правому кутку сторінки «Редагувати запис».

Тут, зазвичай блоки забираються (додаються) виділенням чека, без збереження змін.

Управління

Увімкнений блок "Редакції" знаходиться внизу сторінки. Виглядає так. На робочому сайті такої кількості збережених записів опублікованого матеріалу не повинно бути, це сміття його потрібно чистити.

  • Як бачите лінійка з повзунком, це все копії. Повзунок можна рухати, викликаючи ту чи іншу копію.
  • Є кнопки Попередня і Наступна, пояснювати їхнє призначення, думаю не потрібно.
  • Не виділено чек «Порівняти будь-які дві редакції», в основних полях ми побачимо порівняння вибраної копії та останнього варіанта тексту.
  • Якщо чек "Порівняти будь-які дві редакції" виділити, можна порівняти будь-які дві збережені копії, викликаючи їх повзунком. В основному поле в режимі порівняння бачимо тексти двох варіантів зграй (сторінок), що порівнюються.

Для першоджерел, що цікавляться, є кнопка «Допомога», яка дасть вам посилання на сторінку Revisions WordPress.org. Коло замкнулося, і ми зрозуміли, чому цю функцію називають ревізії WordPress.

Редакції зберігаються як дочірні елементи матеріалу. За замовчуванням система відстежує зміни у титлі, авторі, контенті та анонсі.

Як вимкнути

За умовчанням система зберігає всі ревізії обох варіантів (регулярні та авто). Якщо вам потрібно їх (ревізії) можна обмежити. Для цього у файл wp-config вашої робочої теми вписуєте рядок:

Define ("WP_POST_REVISIONS", X);

Значення Xміняємо на:

  • Нуль (0), якщо НЕ хочемо нічого зберігати;
  • -1, якщо хочемо повернути все, як було, за умовчанням;
  • Будь-яка кількість, щоб замовити кількість потрібних збережених копій.

Не забуваймо перед реакцією файлу wp-config перевірити наявність резервної копії сайту. Або, як мінімум, зробити копію файлу до редакції.

Думка. Я не знаю, навіщо відключати збереження копій. Мене десятки разів автозбереження рятувало при обриві зв'язку з сервером. Краще їх чистити.

Чищення копій

Повторюся, ревізії або редакції WordPress це технічне сміття, яке після випуску сайту потрібно видалити і стежити, щоб воно не накопичувалося.

Зробити це можна за допомогою плагінів чищення. Про них докладно та. Або для фанатів все робити ручками, йдете в

За промовчанням WordPress зберігає всі ревізії записів та статей при проміжних збереженнях у процесі їх редагування. Разом з ревізіями в базі даних може зберігатися й інша інформація: їх мета-дані та таксономія. Навряд чи вони можуть вплинути на невеликий сайт, але згодом база даних буде розростатися, а ревізії в ній займатимуть значно більший обсяг, ніж опубліковані сторінки та записи.

Перед відключенням ревізій та видаленням старих редакцій не забудьте зробити резервні копії файлів та бази даних вашого сайту.

Вимкнення або обмеження ревізій

Збереження ревізій записів і сторінок у базі даних WordPress можна вимкнути або обмежити їх кількість. Для цього потрібно відкрити файл wp-config.phpі, щоб вимкнути збереження ревізій повністю, додати рядок:

Define("WP_POST_REVISIONS", false);

Для того, щоб обмежити кількість редакцій, що зберігаються, замініть у рядку, що додається, слово falseна число, що відповідає бажаній кількості збережених ревізій. Наприклад, для збереження 3 ревізій рядок, що додається, виглядатиме так:

Define("WP_POST_REVISIONS", 3);

Число 0 у цьому виразі відповідатиме ключовому слову false.

Зверніть увагу на те, що рядок, що додається, повинен бути розміщений у файлі wp-config.php після рядка:

Define("WP_DEBUG", false);

і перед рядком:

У мене додано так:

Define("WP_DEBUG", false); /* Скасування чи обмеження кількості редакцій */ define("WP_POST_REVISIONS", false); /* Це все, далі не редагуємо. Успіхів! */

Вилучення всіх старих редакцій

Якщо ви не відразу відключили збереження ревізій, їх могло вже набратися досить багато і, якщо є бажання, старі редакції можна видалити. Для цього необхідно увійти в phpMyAdmin, вибрати базу даних і перейти на вкладку SQL:

Перед видаленням всіх ревізій з бази даних сайту WordPress, необхідно видалити спочатку їх мета-дані та таксономію, якщо вони є. Скопіюйте та вставте в поле введення по черзі наступні три команди та натисніть кнопку «Вперед». Якщо при встановленні WordPress ви вказали для таблиць бази даних префікс відмінний від wp_, замініть в командах нижче wp_ на свій префікс.

Видалення мета-даних

DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = "revision" AND post_name LIKE "%revision%");

та натискаємо кнопку «Вперед».

Видалення таксономії

копіюємо та вставляємо в поле введення SQL-запиту наступний рядок:

DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = "revision" AND post_name LIKE "%revision%");

та натискаємо кнопку «Вперед».

Видалення всіх ревізій

копіюємо та вставляємо в поле введення SQL-запиту наступний рядок:

DELETE FROM wp_posts WHERE post_type = "revision" AND post_name LIKE "%revision%";

та натискаємо кнопку «Вперед».

Після виконання кожної команди ви побачите в інформаційному вікні, скільки видалено рядків з бази даних.

Після створення чергового сайту WordPress згадав про ревізії, коли майже закінчив роботу над першим записом. При видаленні отримані такі результати:

  • мета-дані - видалено 0 рядків;
  • таксономія – видалено 0 рядків;
  • ревізії – видалено 33 рядки.

При редагуванні одного запису, який ще не закінчено, було створено 33 непотрібні мені ревізії. Мета даних і таксономії, пов'язаних з ревізіями, створено не було.

При написанні та редагуванні записів у WordPress відбувається їхнє автоматичне збереження — робиться резервна копія запису (ревізія). За допомогою ревізій можна відновлювати статтю, перейшовши кілька кроків тому. Щоб відновити статтю, необхідно лише вибрати необхідну ревізію.

Проте ревізії – це не завжди добре. Для збереження резервних копій записів та статей потрібні додаткові ресурси сервера. Ревізії засмічують базу даних, тому варто подумати, чи потрібні вони взагалі. Чи часто ми користуєтеся ревізіями при редагуванні статей у WordPress? Якщо ні, їх можна відключити.

Відключення ревізій у WordPress

Для того, щоб вимкнути ревізії у WordPress до версії 3.0.3 потрібно перейти до файлу конфігурації «config.php» і відкрити його за допомогою текстового редактора, наприклад Notepad++. Після цього необхідно знайти рядок:

define("WP_POST_REVISIONS",0);

Якщо у нас WordPress версії 3.0.3 або новішої - відключення ревізій відбувається у файлі "default-constants.php" (перебуває в папці "wp-includes"). Шукаємо рядок:

define("WP_POST_REVISIONS", true);

Після цього міняємо true на false, як показано нижче:

define("WP_POST_REVISIONS", false);

Зберігаємо файл "default-constants.php". Таким чином, ревізії буде відключено.

Всі створені ревізії WordPress можна легко видалити. Щоб видалити старі ревізії необхідно зайти phpMyAdmin та вибрати базу даних. Потім потрібно перейти на вкладку SQLі в вікні, що відкрилося, в поле введення вставити рядок:

DELETE FROM wp_posts WHERE post_type="revision";

Приклад показаний на малюнку:

Потім натискаємо кнопку "ОК" і всі збережені раніше ревізії будуть видалені. Такий спосіб видалення ревізій підходить для всіх версій движка WordPress.