Як видалити старі редакції записів у wordpress. Як вимкнути та видалити редакції 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. Але буквально днями мені довелося додати ще один спосіб до цієї статті. Вкрай ефективний, коли ви ведете свій блог тривалий час, за умови, що цієї фішки ви не знали.

Ці так звані ревізії чи інакше редакції існують ще зі старих версій cms wordpress.

Навіщо потрібні ревізії постів?

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

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

За всю мою практику мені доводилося відновлювати копію з таких резервів лише одного разу. Але тим не менш.

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

Ось вам приклад із життя. У мене на блозі в середньому було 4-5 ревізій кожної статті. Уявіть, коли у вас будуть сотні статей написано, а можливо, тисячі статей – видаливши ревізії (редакції) постів – ви тим самим прискорите свій блог у 5 разів.

А якщо у вас не 5 редакцій, а 10 до кожного посту? До речі, скільки у вас, як не секрет? Напишіть про це в коментарях пжлст.

До речі, найцікавіше, що коли ви навіть не натискаєте кнопку “Зберегти” – у вас ревізії постів створюються автоматично. Це називається автозбереження.

Як можна обмежити кількість редакцій постів?

Ми вже знаємо, що всі редакції зберігаються у базі даних. Щоб їх кількість змінити, нам знадобиться стандартний “фільтр”, який називається wp_revisions_to_keep , або за допомогою директиви WP_POST_REVISIONS у файлі wp-config.php .

До речі, у мене чомусь директива у файлі wp-config – не спрацювала. Напишіть, у кого вона працює у нових версіях WordPress?

Отже, скажімо, ми хочемо залишити можливість збереження ревізій, але залишити, скажімо, лише 3шт. Для цього нам потрібно написати таке:

Function my_revisions_to_keep($revisions) ( return 3; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

За допомогою wp_revisions_to_keep можна ще обмежувати кількість копій у різних типахпостів. Точніше в одному типі – одна кількість ревізій, в іншому – інша.

Ну от, наприклад, припустимо, вам потрібно 5 ревізій для сторінок і 3 ревізії для статей (постів) та інших типів записів.

Function my_revisions_to_keep($revisions, $post) ( if ("page" == $post->post_type) return 5; else return 3; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep", 5, 2);

Можете спробувати використовувати WP_POST_REVISIONS у файлі wp-config.php , але цей спосіб не дає можливості розділити на типи записів.

define("WP_POST_REVISIONS", 3);

Як вимкнути та/або видалити редакції в wordpress

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

Function my_revisions_to_keep($revisions) ( return 0; ) add_filter("wp_revisions_to_keep", "my_revisions_to_keep");

Або за допомогою файлу wp-config.php :

Define("WP_POST_REVISIONS", 0);

Найголовніше. Відключення ревізій - ніяк не вплине на їхнє існування (вже існуючих). тобто. якщо у вас було до кожної статті по 3-5 ревізій і ви відключили ревізії - старі копії постів все одно залишаться. Їх треба видаляти руками через БД.

Як же видалити всі ревізії, редакції

Тож ми відключили редакції. Ми вже знаємо, що просто відключити редакції – мало. Потрібно їх вирвати з коренем, видалити вручну через MySQL.

Почнемо, мабуть. Але перед тим, як щось видаляти – зробіть Бекап. Найкраще зробити бекап всього сайту.

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%";

Цей запит у MySQL видалить взагалі всі ревізії, що є у вашій базі. Окрім автозбережень.

Автозбереження – також вважається ревізією, але вони не видаляються і не відключаються!! Тому щоб їх було якнайменше – пишіть тексти заздалегідь у ворді, а потім просто вставляйте в адмінку!

Невелике нагадування про те, як працювати з MySQL

Якщо раптом забули.

Я працюю з хостингом adminvps, я навіть розповідав чому саме з ним – у цій статті. Так ось, я показуватиму все на ньому.

Заходимо в phpMyAdmin у контрольній панелі управління хостингом.

Вводимо логін та пароль.

Вибрали потрібну нам базу даних і натиснули кнопку SQL, яка знаходиться зверху.

І ми бачимо велике поле для того, щоб писати SQL запити. Для всієї БазиДаних.

Туди ми вписуємо всі запити по порядку.

Не турбуйтеся якщо побачите нульові значення, отже, ви просто не використовували лівих типів записів або таксономій.

А ось що я отримав, використовуючи останній запит.

Подивіться як після цього мій блог став спритніше. Це ж просто казка!

Я впевнений, що те саме є і у вас! Перевірте та відпишіть мені потім про це.

Плагін для роботи з редакціями постів

Можу порадити ще плагін Revision Control, він дозволяє зробити те саме, що я описав, тільки в більш комфортному для вас режимі. Прямо в адмінці.

Якщо у вас все ще залишилися питання - ставте, я радий вам допомогти. На цьому поки що все. Дякую за увагу.

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

У цій статті ми розповімо, як працює функціонал історії змін WordPress, з якими типами контенту його можна використовувати, а також як отримати максимальну вигоду з нього.

Історія змін у WordPress: що це таке

Чи знаєте ви, що WordPress автоматично зберігає всі зміни, внесені вами в пости. Ви можете скасувати ці зміни та повернутися до більш ранньої версіїбудь-якої миті часу. Цей функціонал називається ревізіями (версіями). Він був уведений ще в WordPress 2.6.

Завдяки цій можливості WordPress зберігатиме пост у вигляді ревізії щоразу, коли ви натискаєте на кнопку «Save as Draft» (Зберегти як чернетку) або під час кожного автоматичного збереженнязапис. Функція автоматичного збереження активується кожні 60 секунд - це спеціальна ревізія, яка замінюється новими версіями, що зберігаються.

Варто зазначити, що для будь-якого заданого поста є лише одне автозбереження. Функція автоматичного збереження особливо корисна в ситуаціях, коли ваш браузер виходить з ладу або у вас вирубується електрика. У такому разі, якщо ви повернетеся до редагування запису, WordPress покаже вам повідомлення про те, що у вас є резервна копія вашого поста разом із посиланням на відновлення матеріалів.

Як працювати з історією змін у WordPress

Як видно з наведеного нижче скріншота, ревізії розташовані в розділі Publish на екрані редагування запису. Ви також можете вивести ревізії в редакторі записів шляхом клацання Screen Options і вибору пункту Revisions.

Якщо ви перейдете на посилання Browse, ви потрапите на сторінку Revisions. Тут можна бачити зміни, що стосуються кожної версії – для цього використовуйте слайдер у верхній частині екрана. Ви також можете використовувати кнопки Previous та Next. Є функціонал для порівняння двох ревізій. У вікні буде вказано, що було додано, що залишилося без змін та видалено.

Що можна робити з ревізіями: можна відновити ревізію, або залишити запис як є. Якщо ви хочете відновити певну ревізію, ви можете зробити це шляхом натискання на кнопку Restore this revision. Посилання Return to post editor дозволить вам повернутися до своєї посади, не вносячи жодних змін.

Які типи контенту підтримують ревізії?

Історія змін WordPress працює для всіх записів та сторінок вашого сайту, а також для довільних типів записів, таких як Portfolio та Testimonials (додаються Jetpack).

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

$supports = array("title", "editor", "revisions");

Код для довільних типів записів зазвичай розміщується у файлі functions.php. Помістіть рядок вище над рядком, який починається з register_post_type.

Тепер давайте подивимося, як отримати вигоду для себе з історії версій.

Включаємо або повністю відключаємо ревізії

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

Ви можете включити ревізії вручну, додавши наступний рядок у файл wp-config.php:

Define("WP_POST_REVISIONS", true);

Ви також можете повністю відключити ревізії, встановивши для них значення false:

Define("WP_POST_REVISIONS", false);

Обмежуємо кількість доступних ревізій

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

Define("WP_POST_REVISIONS", 5);

У результаті ви отримаєте максимум 5 ревізій на кожен запис, крім автозбереженої версії. Це корисно, якщо ваш хостинг обмежує розмір бази даних або якщо ви вважаєте, що ви не використовуєте ревізії занадто часто.

Управління ревізіями для кожного запису

Якщо ви готові до додаткового написання коду, можна зробити так, щоб обмежити кількість ревізій для кожного вибраного запису. Для цього використовуйте фільтр wp_revisions_to_keep. Ось як виглядатиме код:

Add_filter("wp_revisions_to_keep", "filter_function_name", 10, 2); function filter_function_name($num, $post) ( return $num; )

Тут ми передаємо WP_Post об'єкт, який представляє цільовий запис та необхідну кількість версій.

Плагіни для керування ревізіями

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

Optimize Database After Deleting Revisions

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

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

Плагін сумісний із мультисайтами. Він підтримує періодичний запуск очищення.

WP Revisions Control

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

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

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

  • The Author
  • Post Date
  • Permalink
  • Post Status
  • Post Password
  • Comment Status
  • Ping Status
  • Post/Page Parent
  • Menu Order

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

Ще один плагін для керування ревізіями. Він дозволяє обмежувати кількість ревізій будь-якого довільного типу записів.

Інші можливості:

  • Вимкнення ревізій.
  • Обмеження ревізій записів для всього сайту, для кожного типу записів, для кожного окремого посту
  • Видалення ревізій у масовому порядку чи індивідуально

Після поїзда під назвою «всі версії 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 це технічне сміття, яке після випуску сайту потрібно видалити і стежити, щоб воно не накопичувалося.

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



Розповісти друзям