Автоматическое сохранение черновиков — одна из важных функций WordPress, которая помогает избежать потери контента при редактировании страниц и записей. Однако стандартные настройки автосохранения не всегда оптимальны для всех проектов, особенно если вы работаете с большими статьями или сложными блоками. В этой статье подробно разберём, как настроить и улучшить механизм автосохранения в WordPress, а также рассмотрим примеры кода и полезные плагины для расширения функционала.
Почему важно настроить автоматическое сохранение черновиков в WordPress
По умолчанию WordPress сохраняет черновик каждые 60 секунд. Это базовый интервал, который не всегда подходит для всех пользователей. Если вы пишете длинные статьи или работаете с визуальными конструкторами, слишком редкое автосохранение может привести к потере значительной части текста при сбое браузера или отключении интернета.
С другой стороны, слишком частое автосохранение может увеличить нагрузку на сервер и замедлить работу админ-панели, особенно на слабых хостингах.
Поэтому важно найти баланс и при необходимости настроить интервал автосохранения под свои задачи.
Как изменить интервал автосохранения черновиков с помощью кода
Для изменения интервала автосохранения нужно добавить следующий код в файл functions.php вашей темы или в кастомный плагин:
function wpstock_change_autosave_interval() {
return 120; // Интервал в секундах (здесь 2 минуты)
}
add_filter('autosave_interval', 'wpstock_change_autosave_interval');
В этом примере интервал автосохранения изменён с 60 секунд на 120 секунд. Вы можете указать любое значение в секундах, исходя из потребностей проекта.
Особенности и рекомендации
- Для сайтов с большим объёмом контента рекомендуется увеличить интервал до 2-3 минут, чтобы снизить нагрузку на сервер.
- Если вы часто теряете данные или работаете в нестабильной сети, можно уменьшить интервал, например, до 30 секунд.
- Не стоит ставить интервал слишком маленьким (меньше 20 секунд), чтобы избежать лишнего трафика и нагрузки.
Использование плагинов для расширенного управления автосохранением
Если вы хотите более гибко управлять процессом автосохранения, можно использовать специальные плагины. Например:
- Autosave Control — позволяет полностью отключать или включать автосохранение по вашему желанию.
- Clearfy Pro — универсальный плагин для оптимизации WordPress, который включает функции по управлению автосохранением и ревизиями записей, что помогает снизить нагрузку и увеличить скорость сайта.
Плагины удобны тем, что позволяют изменять настройки без редактирования кода, а также предлагают дополнительные опции, такие как удаление старых ревизий, контроль частоты автосохранений и пр.
Как ограничить количество ревизий записей для оптимизации базы данных
Автосохранение создаёт множество ревизий, которые со временем могут сильно разрастись и замедлить работу сайта. Чтобы избежать этого, можно ограничить количество ревизий, используя следующий код:
function wpstock_limit_post_revisions() {
return 3; // Максимум 3 ревизии на запись
}
add_filter('wp_revisions_to_keep', 'wpstock_limit_post_revisions', 10, 2);
Этот код ограничит количество сохранённых ревизий для каждой записи тремя последними. Это поможет держать базу данных в порядке и повысить производительность.
Удаление старых ревизий через WP-CLI
Если на сайте уже накопилось много ревизий, их можно удалить с помощью команды WP-CLI:
wp post delete $(wp post list --post_type='revision' --format=ids) --force
Это быстро очистит базу данных от ненужных ревизий, освободив место и ускорив работу сайта.
Автоматическое сохранение в редакторе Gutenberg и его особенности
В редакторе Gutenberg автосохранение работает немного иначе, чем в классическом редакторе. Оно происходит на уровне блоков и выполняется чаще, чтобы обеспечить плавный и безопасный процесс редактирования.
Если вы хотите изменить настройки автосохранения для Gutenberg, измените параметр autosaveInterval через JavaScript, подключённый в админке:
function wpstock_custom_gutenberg_autosave_interval() {
wp_enqueue_script('wpstock-gutenberg-autosave', false);
wp_add_inline_script('wpstock-gutenberg-autosave', '
wp.data.dispatch("core/editor").autosaveInterval = 120;
');
}
add_action('admin_enqueue_scripts', 'wpstock_custom_gutenberg_autosave_interval');
Этот код изменит интервал автосохранения в редакторе Gutenberg на 120 секунд. Помните, что такие изменения могут конфликтовать с будущими обновлениями WordPress, поэтому тестируйте их тщательно.
Выводы и рекомендации по оптимизации автосохранения
Автоматическое сохранение — это важный механизм защиты вашего контента, который стоит настраивать в зависимости от специфики сайта и объёма контента. Оптимальный интервал автосохранения поможет избежать потерь данных и снизить нагрузку на сервер.
Используйте приведённые коды и плагины для тонкой настройки автосохранения и ревизий. Регулярно очищайте базу данных от старых ревизий и следите за производительностью сайта.
Для комплексной оптимизации и контроля автосохранения можно рассмотреть использование Clearfy Pro — плагина с широким функционалом, который поможет настроить WordPress под задачи вашего проекта.