Ревизии или редакции записей и страниц в WordPress
Дорогие друзья, все мы знаем, что WordPress растёт не по дням, а по часам. Как не странно, но стремление разработчиков сделать своё детище более гибким и простым вылилось в его прожорливость и огромный вес.
Возьмём, к примеру, публикуемые нами посты. С недавних пор WordPress обеспечивает их автосохраннение и хранение редакция. Автосохранение постов – это автоматическое сохранение поста как его промежуточную редакцию. Сама редакция поста (англ. revision) – представляет собой дубликат поста в базе данных. Таким образом, мы всегда можем посмотреть, как выглядел пост до его изменения. Другими словами, мы получили ряд полезных фишек, которые потребовали дополнительные ресурсы.
Как таковой, ничего плохого в выше перечисленном нет, но только в том случае, если ресурсы вашего хостинга это позволяют. Как показывает практика, зачастую эти ресурсы весьма ограничены. Если на первых парах это ещё не заметно, то с ростом количества постов и посещаемости всё становится на свои места. Так что если у вас возникло желание оптимизировать работу свое блога на WordPress, не забудьте уделить внимание редакциям записей и страниц. Как это сделать? Вот об этом мы и поговорим.
Управление ревизиями в WordPress
Конечно, я могу рассказать вам о структуре баз данных в WordPress… но оно вам надо? Так что не будем вдаваться в детали и остановимся на том, что доступно и понятно большинству. В частности, мы скажем, что редакция поста – это дубликат записи или страницы в базе данных. Для контроля ревизий в WordPress существует константа WP_POST_REVISIONS
. Она может иметь одно из следующих значений:
true
(по умолчанию) или-1
: хранить все редакции;false
или0
: не сохранять ревизии, за исключением одной для автосохранения;- число больше нуля: сохранять указанное количество ревизий и ещё одну для автосохранения.
Другими словами, для того чтоб отключить ревизии на вашем WordPress блоге вам понадобится открыть файл wp-config.php и добавить (если отсутствует)? следующую строку:
define('WP_POST_REVISIONS', 0);
перед:
/** Инициализирует переменные WordPress и подключает файлы. */
require_once(ABSPATH . 'wp-settings.php');
?>
Проблема в том, что это не избавит вас от одной ревизии записи или страницы для автосохранения. В принципе, используя константу AUTOSAVE_INTERVAL
(тоже в wp-config.php), вы можете указать количество секунд, через которое будет произведено автосохранение. Например:
define('AUTOSAVE_INTERVAL', 86400); // seconds (Default: 1 day)
Проблема в том, что это константа не способно отключить автосохранение. Конечно, есть хак позволяющий таки отключить автосохранение. В частсноти, в файл functions.php используемой темы достаточно добавить следующий PHP-код:
add_action( 'admin_init', 'disable_autosave' );
function disable_autosave() {
wp_deregister_script('autosave');
}
Вот только это может привести к проблемам с предварительным просмотром, если вы предварительно не сохраните пост вручную. Понятно, что в этом случае данные будут утеряны.
В общем, вариантов много, но сути они не меняют. Поэтому я рекомендую использовать следующие два простых и удобных WordPress плагина – Revision Control и Delete-Revision. Познакомимся с ними ближе.
Revision Control
Revision Control – это бесплатный плагин от Диона Халса (Dion Hulse) для управления ревизиями (редакциями) заметок и страниц в WordPress.
Установив и активизировав этот плагин, в меню «Параметры» вы увидите пункт «Ревизии» - кликните его. На открывшейся странице «Настройки управления ревизиями» вы сможете указать статус ревизий по умолчанию для записей и страниц. В частности, выберите вариант «Не хранить ревизии» или укажите количество допустимых ревизий.
К слову, теперь в окне редактирования заметок или постов панели управления блогом появится новый элемент «Post Revisions» благодаря которому вы сможете увидеть все сопутствующие ревизии, удалить или сравнить, а также установить статус ревизии.
Отдельно хочу отметить, что используя WordPress плагин Revision Control вам нет необходимости вносить какие-то изменения в wp-config.php блога, functions.php шаблона и т.д. Всё будет сделано автоматически и вполне себе оптимально.
Delete Revision
Delete Revision – это бесплатный плагин от gohsy, написанный в 2009 году и до сих пор не утратившем свою актуальность как простое и удобное средство для удаления лишних ревизий заметок и страниц, а также оптимизации базы данных.
После установки и активизации плагина перейдите в: Параметры > Delete-Revision. На открывшейся странице вы увидите две кнопки «Check Redundant Revision» и «Database Optimization».
Нажав кнопку «Check Redundant Revision» вы получите все имеющиеся дубликаты записей и страниц (ревизий) в базе данных вашего блога. Нажмите кнопку «Yes, I would like to delete them!» и они будут удалены.
По сути, этот плагин выполняет для удаление ревизий вот такой простой SQL-запрос:
DELETE FROM wp_posts WHERE post_type = 'revision'
Тем не менее, это то, что будет не лишним. К слову, после удаления ревизий плагин Delete-Revision можно деактивировать.
Заключение
Надеюсь, что данный пост смог дать вам исчерпывающий ответ о том, что такое ревизии в WordPress и как с ними работать. Тем не менее, если у вас возникли вопросы или сложности – пишите, будем разбираться. А у меня всё. Спасибо за внимание. Удачи!
4 комментария:
В принципе, любой шаблон можно также заточить до нужной кондиции... даже дефолтный. Основная проблема - разобраться с тем же CSS. Ну, это самый простой вариант, после визуальной настройки шаблона в панели управления блогом.
Что же до ревизий, то их конечно лучше удалить и отключить, т.к. они занимают лишнее дисковое пространство на сервере. Особенно это актуально, когда включено кэширование и создаются копии страниц, что тоже занимают дисковое пространство. Удачи!
Отправить комментарий