Функционал истории изменений (ревизий) в WordPress: как работать с ним
История изменений в 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
Теперь давайте посмотрим, как извлечь выгоду для себя из истории версий.
Включаем или полностью отключаем ревизии
По умолчанию функционал ревизий автоматически включается для каждой сборки 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 может сохранять для каждой записи и страницы. Как только вы активируете плагин, перейдите в Параметры – Написание, чтобы определить, сколько ревизий следует хранить для каждого типа записей.
Better Revisions
Относительно новый плагин, который совершенствует управление ревизиями. WordPress будет сохранять ревизии только в том случае, если менялся заголовок, контент или цитата. Если вы модифицировали автора записи или меняли постоянные ссылки для записи, это не приведет к созданию ревизии. В этом и состоит плюс этого плагина.
Он добавляет следующие поля к системе ревизий:
- The Author
- Post Date
- Permalink
- Post Status
- Post Password
- Comment Status
- Ping Status
- Post/Page Parent
- Menu Order
Плагин очень удобен для блогов с несколькими авторами и тщательного контроля над ревизиями в записях.
WP Revision Master
Еще один плагин для управления ревизиями. Он позволяет ограничивать количество ревизий для любого произвольного типа записей.
Другие возможности:
- Отключение ревизий.
- Ограничение ревизий записей для всего сайта, для каждого типа записей, для каждого отдельного поста
- Удаление ревизий в массовом порядке или индивидуально
Источник: https://www.elegantthemes.com