Начало > Помощен център > Апликации > WordPress > Управление на ревизии (revisions) в WordPress

Управление на ревизии (revisions) в WordPress

Помощен център

Управление на ревизии (revisions) в WordPress

Revisions е тип публикация (post type) и функция в WordPress, която позволява на WordPress автоматично да запазва ревизии (редакции, версии) на вашите публикации (posts), страници (pages) или персонализирани типове публикации (custom post types).

Линк към създадените ревизии в WordPress

WordPress revisions съхранява запис на всяка запазена чернова или публикувана актуализация. Системата за ревизия позволява да видите какви промени са направени във всяка версия чрез преместване на плъзгач (или с помощта на бутоните Предишна / Следваща). Добавените или премахнатите редове се подчертават, а отделните промени в символите получават допълнително форматиране. Натиснете бутона Възстановяване на тази версия, за да възстановите избраната редакция.

Панел за възстановяване на съдържание от ревизия

Страницата с ревизии позволява сравняване на две отделни редакции при маркиране на полето Сравняване на две версии. В този режим единия край на плъзгача представлява ревизията, от която сравнявате, а другия - ревизията, с която сравнявате. Чрез плъзгане на бутоните може да сравнявате всеки две конкретни ревизии. Бутонът Възстановяване на тази версия винаги възстановява редакцията, с която сравнявате.

Опция за сравняване на две ревизии

В екранът за управление на версиите червеният текст отляво показва съдържание, което сте премахнали, а зеленият текст отдясно показва новото добавено съдържание:

Форматиране на премахнатото и добавеното съдържание в ревизиите

Autosaves (автоматично запаметяване)

Autosave (автоматични записи) е функция в WordPress, която автоматично запазва промените, направени в публикация, страница или персонализиран тип публикация.

WordPress създава само един автоматичен запис на потребител за дадена публикация. Следващите автоматични записи заместват съществуващите. В панела за сравняване на версии автоматичните записи имат различно форматиране:

Форматиране на автоматичните ревизии

Ако поради някаква причина прекъснете редактирането на съдържание без да го запазите, при връщане в панела за редактиране на публикацията/страницата се зарежда информация за наличие на автоматично запазена версия.

Информаия за автоматично запазена версия

Може да възстановите тази версия като отворите панела Сравняване на версии през линка Преглед на автоматичното запазване или линка ... ревизии в полето Status & visibility, и кликнете бутона Възстановяване на тази автоматично запазена версия.

Ако не възстановите автоматично запазената версия, а направите нова промяна в съдържанието и затворите страницата без да я запазите, след отваряне на панела за редактиране ще видите друго съобщение, че в браузъра е запазена по-нова версия на публикацията.

Запазване на по-нова версия в браузър

Дори след това да възстановите автоматично запазената версия, отново WordPress ще ви припомни, че има запазена в браузъра по-нова версия на съдържанието. Тази най-нова запазена версия на съдържанието може да бъде възстановена само през бутона Възстановяване на резервното копие.

Промяна на интервала за автоматично запаметяване в WordPress?

Функцията Autosave e активирана по подразбиране с интервал за създаване на автоматични записи от 60 секунди. През файла wp-config.php може да промените тази стойност като посочите собствен интервал в секунди и добавите следния код във файла:

define('AUTOSAVE_INTERVAL', 30 );

Управление на ревизиите през файла wp-config.php

WordPress по подразбиране запазва копие на всяка редакция в публикация или страница, което позволява връщане към предишна версия на тази публикация или страница. Запазването на ревизиите може да бъде деактивирано или да бъде посочен максимален брой ревизии на публикация или страница по следния начин.

Деактивиране на ревизиите в WordPress

За да деактивирате напълно функцията за ревизии, поставете следния код във файла wp-config.php:

define('WP_POST_REVISIONS', false);

Дефиниране брой на ревизиите

За да посочите максимален брой ревизии, които WordPress съхранява, променете false на цяло число (напр. 2 или 10).

define('WP_POST_REVISIONS', 2);

Важно: ако установите, че тези две команди не работят коректно, преместете кодът на първия ред под началния коментар на блока в wp-config.php. Използвайте само едната команда, ако поставите във файла и двата реда код, WordPress ще изпълни само кода, който е записан последен.

Изтриване на ревизии от базата данни

Целта на статията не е насочена против типа публикация Ревизии (Post Type Revisions) в WordPress. Информацията в статията е насочена към потребители, които желаят да ограничат/прекратят създаването на ревизии, както и към потребители, които желаят да премахнат старите ревизии от базата данни с цел намаляване размера на базата данни.

Ще ви покажем различни начини, по които може да изтриете ревизиите от базата данни на вашия WordPress сайт както през приложението phpMyAdmin - чрез функцията за търсене и чрез изпълнение на скрипт, така и през SSH (команден ред, терминал).

Изтриване на ревизии чрез функцията за търсене в phpMyAdmin

Както преди всяка операция с база данни, първо създаваме архив на текущото състояние на базата данни. От менюто с базите данни в хостинга избираме коректната база данни, ако имате колебания отворете файла wp-config.php в root директорията на сайта и намерете реда под коментара The name of the database for WordPress:

define( 'DB_NAME', ‘database_name' );

Натиснете бутона Export и в панела натиснете бутона Go - SQL архив на базата данни ще се запише във вашия компютър.

Създаване архив на база данни в phpMyAdmin

Ревизиите се съхраняват в таблицата с публикации wp_posts и всички файлови имена на различните видове ревизии съдържат думата revision.

Натиснете бутона Search, въведете в полето за търсене revision, изберете радио бутона as regular expression, изберете таблицата wp_posts (вашите таблици вероятно имат префикс, различен от wp_, в примера sftwp_) и натиснете бутона Go.

Функция за търсене в phpMyAdmin

phpMyAdmin ще ви предостави информация за намерените ревизии, както и линкове за преглед (Browse) и изтриване (Delete).

Резултат от търсене в phpMyAdmin

За да изтриете ревизиите натиснете линка Delete и в прозореца потвърдете изтриването през бутона OK:

Изтриване на ревизии в phpMyAdmin

Съобщението в горния край на екрана ще потвърди успешното изтриване:

Съобщение за успешно изтриване

Изтриване на ревизии чрез SQL заявка в phpMyAdmin

Отворете базата данни на WordPress сайта в phpMyAdmin, натиснете бутона SQL и въведете следната заявка (заменете sftwp_ с вашия префикс):

DELETE FROM sftwpposts WHERE posttype = 'revision' AND post_name LIKE '%revision%';

Въвеждане на SQL заявка в phpMyAdmin

Потвърдете изтриването като натиснете бутона OK:

Потвърждение за изпълнение на заявката

phpMyAdmin потвърждава изтриването на 18 ревизии:

Потвърждение за успешно изтриване

Нова проверка през системата за търсене потвърждава, че всички ревизии са успешно изтрити:

Проверка през системата за търсене

Изтриване на ревизии от базата данни през SSH

Ако имате SSH достъп до хостинга може да изтриете ревизиите като се логнете в MySQL през SSH и изпълните командата от предишния пример.

# mysql -uicnusr_wpsoft -p icnusr_wpsoft;
Enter password: 

Със следващата команда преброявате колко е общия брой на ревизиите (заменете префикса на таблиците sftwp_ в кода с вашия префикс):

mysql> SELECT COUNT(*) FROM `sftwp_posts` WHERE `post_type` = 'revision' AND `post_name` LIKE '%revision%';
+----------+
| COUNT(*) |
+----------+
|       18 |
+----------+
1 row in set (0.00 sec)

Изтривате ревизиите като въведете познатата команда (препоръчаме да я копирате от файл и да я поставите в конзолата вместо да я пишете за да се предпазите от грешки):

mysql> DELETE FROM `sftwp_posts` WHERE `post_type` = 'revision' AND `post_name` LIKE '%revision%';
Query OK, 18 rows affected (0.00 sec)

За да се уверите, че всички ревизии са изтрити може да повторите отново командата за преброяване - този път резултатът от преброяването е нула ревизии:

mysql> SELECT COUNT(*) FROM `sftwp_posts` WHERE `post_type` = 'revision' AND `post_name` LIKE '%revision%';
+----------+
| COUNT(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
mysql> 

Изтриване на ревизии с плъгина WP-Sweep

Както за почти всяка функционалност в WordPress, за управлението на ревизиите също има създадени плъгини.

В статията ще представим един от популярните плъгини WP-Sweep, който позволява да почистите неизползвани, изоставени и дублирани данни във вашия WordPress, също и да оптимизирате таблиците на вашата база данни.

Отворете Разширения > Добавяне на още, въведете WP-Sweep в полето за търсене и инсталирайте/активирайте плъгина по стандартния за WordPress начин:

Инсталиране на плъгина WP-Sweep в WordPress

За да достъпите панела с настройките на плъгина изберете Инструменти > Sweep от главното меню:

Достъп до плъгина WP-Sweep от главното меню

Панелът с интерфейса е разделен на няколко секции с настройки. Управлението на ревизиите се извършва през първата секция Post Sweep:

Изглед на секция Post Sweep

Срещу всяка опция има бутон Sweep за изпълнение на определено действие. В края на програмата ще откриете бутон Sweep All, през който може да стартирате цялостно почистване и оптимизиране на базата данни. Единственото предупреждение от разработчиците е да се уверите, че няма да изтриете данни на публикации, запазени в режим Чернова (draft).

Бутон Sweep All за изпълнение на цялостно почистване на базата данни

След натискане на бутона Sweep All програмата извършва всички действия и публикува отчет в началото на всяка секция:

Изглед на отчет в WP-Sweep в началото на всяка секция

Според информация от разработчиците, WP-Sweep не е съвместим със следните плъгини - Asgaros Forum, Custom Fonts, Elementor Popup Builder, MailPress, Meta Slider, Polylang, Slider Revolution, Viba Portfolio, WPML.

Надяваме се, че информацията в тази статия ще ви помогне да управлявате ревизиите на вашия WordPress сайт по най-добрия за вас начин.