Кроме записей Вашего сайта, в базе данных WordPress хранит множество редакций этих записей, в том числе автосохранения. Всякий раз, когда вы сохраняете свои изменения записи, WordPress создает новую копию, называемой редакцией или ревизией. В добавок к редакциям, каждую минуту (по умолчанию) перезаписывается копия автосохранения. Я еще не закончил первый абзац этой статьи, а у меня уже три редакции этой записи. После написания будет больше 50-ти.
Думаю, Вы заметили, если у Вас присутствует нумерация в пути записи, что каждая следующая запись выходит не под следующим порядковым номером, а через солидный интервал в 50-100 чисел. Эти числа как раз и заняты предыдущими редакциями следующей записи.
Все эти редакции и автосохранение, несомненно, очень полезные вещи. Допустим, Вы сохраняете сделанные Вами изменения, не зная, что интернет-соединение в данный момент потеряно, сбой на сервере, зависло приложение или Вы не заметили, как случайно задели мышку и удалили половину текста. Ваша работа из-за случайности может быть потеряна. Моя жена часто жаловалась, что у нее пропадает форматирование и куски текста. Поэтому я задумался о возможности использования редакций записей, когда будет нужно.
Где найти редакции записей WordPress и как ими воспользоваться?
В админке, в окне редактирования записи, внизу Вы найдете все редакции этой записи. Если Вы их не видите, нажмите вверху-справа кнопку «Настройки экрана» и отметьте галочкой «Редакции». Теперь появятся. Если вдруг что-то случилось с Вашей записью или просто Вы хотите отменить последние изменения и вернуться к предыдущей редакции, выберите внизу редакцию, нажмите восстановить и она становится доступной для редактирования и сохранения. Полезная штука, не правда ли?
Но есть и существенный минус во всех этих редакциях. Они сильно засоряют базу данных сайта. Представьте, на каждую Вашу статью хранится 40-70 ее редакций. Это ж сколько места на диске? Такой массив информации, естественно, замедляет скорость сайта.
К сожалению, в WordPress нет возможности управлять редакциями записей из админки. Придется влазить в код либо устанавливать специальные плагины.
Управление редакциями записей в WordPress
Отключение сохранений редакций записей
Отключение сохранений кодом:
Чтобы отключить сохранение всех редакций записей в WordPress, необходимо подредактировать файл wp-config.php. Найти wp-config.php можно в корневом каталоге движка. Для редактирования скачайте его себе на компьютер и создайте резервную копию. В конце файла, пред кодом:
/** Инициализирует переменные WordPress и подключает файлы. */
require_once(ABSPATH . 'wp-settings.php');
добавьте строчку:
define('WP_POST_REVISIONS', 0);
Если ‘WP_POST_REVISIONS’ в коде уже присутствует, замените параметр «1» на «0», или «true» на «false».
Сохраните файл и закачайте на сервер.
Отключение сохранений с помощью плагина:
Если Вы желаете больше комфорта в управлении редакциями записей и не боитесь устанавливать лишние плагины, воспользуйтесь бесплатным WordPress плагином Revision Control. Плагин Revision Control позволит Вам не сохранять ревизии записей и страниц или указать какое количество ревизий можно сохранять и даже, какие по счету. После установки и активации плагина пройдите в меню «Параметры» — «Ревизии».
Удаление редакций записей в WordPress
Удаление редакций записей кодом:
Удаление редакций записей может потребоваться, если Ваш блог существует уже давно и в нем много записей. Этих записей в несколько десятков раз больше чем нужно, что замедляет работу сайта. Можно почистить базу данных, удалив все ранее созданные редакции.
- Создайте резервную копию базы данных;
- Войдите в панель управления базами данных, например в phpMyAdmin;
- Выберите базу данных и перейдите на вкладку«SQL»
- Введите в поле код:
DELETE
FROM wp_posts WHERE post_type =
"revision"
;
и нажмите "Ок"
После выполнения команды Ваша таблица wp_posts, намного уменьшится в размере.
Удаление редакций записей с помощью плагина:
Эту же функцию. для Вашего удобства, можно выполнить с помощью плагина Delete Revision.
Плагин Delete Revision позволит увидеть список дубликатов всех записей и страниц и тут же их удалить. После установки и активации плагина, пройдите в меню «Параметры» — «Delete-Revision» — «Check Redundant Revision». Это плагин с одним действием и после удаления дубликатов записей его можно деактивировать.
Управление автосохранением
Установка частоты автосохранений
По умолчанию, автосохранение записей в WordPress происходит каждую минуту. Если для Вас это слишком часто, можно установить реже, записав в том же wp-config.php код:
define('AUTOSAVE_INTERVAL', 3600);
число 3600 в коде — это количество секунд, через которое будет производится автосохранение, и Вы можете заменить его каким угодно: 600 (каждые 10 минут), 1800 (каждые полчаса) и даже 86400 (раз в сутки).
Отключение автосохранений записей и страниц в WordPress
Чтобы отключить автосохранения придется редактировать файл functions.php вашей темы. Найти его можно по в папке: wp-content/themes/Ваша_тема. Скопируйте файл на компьютер, создайте резервную копию, добавьте код:
function
disableAutoSave(){
wp_deregister_script(
'autosave'
);
}
add_action(
'wp_print_scripts'
,
'disableAutoSave'
);
Такое отключение может привести к побочным явлениям, таким как невозможность просмотра изменений без сохранения записи. Да и вообще, я не думаю, что кому-то может помешать автосохранение. Оно не клонирует копии, а перезаписывает новую на вверх старой, а значит не забивает Вашу базу данных. Достаточно снизить частоту автосохранений, если мешает.
Вообще, из всего вышеизложенного, я считаю, необходимо удалять время от времени редакции записей, тем самым чистить базу данных. Это легко можно делать плагином, который после выполнения действия деактивировать. Все остальное нам может не понадобиться.