Редакции записей и автосохранения WordPress и управление ими

Кроме записей Вашего сайта, в базе данных 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

Удаление редакций записей кодом:

Удаление редакций записей может потребоваться, если Ваш блог существует уже давно и в нем много записей. Этих записей в несколько десятков раз больше чем нужно, что замедляет работу сайта. Можно почистить базу данных, удалив все ранее созданные редакции.

  1. Создайте резервную копию базы данных;
  2. Войдите в панель  управления базами данных, например в phpMyAdmin;
  3. Выберите базу данных и перейдите на вкладку«SQL»
  4. Введите в поле код:

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' );

Такое отключение может привести к побочным явлениям, таким как невозможность просмотра изменений без сохранения записи. Да и вообще, я не думаю, что кому-то может помешать автосохранение. Оно не клонирует копии, а перезаписывает новую на вверх старой, а значит не забивает Вашу базу данных. Достаточно снизить частоту автосохранений, если мешает.

Вообще, из всего вышеизложенного, я считаю, необходимо удалять время от времени редакции записей, тем самым чистить базу данных. Это легко можно делать плагином, который после выполнения действия деактивировать. Все остальное нам может не понадобиться.

 


Читайте также:
Понравилась статья? Поделись с друзьями:

Подпишись на обновления блога, и получай свежую информацию
на свой e-mail: 

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий

Вы должны быть авторизованы, чтобы разместить комментарий.