Автосохранение (autosave) — важный механизм WordPress, который помогает избежать потери данных при редактировании постов и страниц. Однако в некоторых случаях автосохранение может создавать лишние ревизии, замедлять работу сайта или конфликтовать с другими плагинами. В этой статье мы подробно разберем, как отключить автосохранение в WordPress, какие есть альтернативы и как сделать это максимально безопасно.
Что такое автосохранение в WordPress и зачем оно нужно
Функция автосохранения автоматически сохраняет изменения в записи каждые 60 секунд (по умолчанию) при работе в редакторе. Это позволяет избежать потери содержимого из-за случайных закрытий браузера, сбоев или других проблем. WordPress сохраняет эти данные в базу данных как специальные посты с типом revision.
Однако автосохранения могут создавать дополнительные записи в базе данных, что иногда приводит к ее раздуванию и замедлению. Также в некоторых кастомных сценариях (например, при интеграции с определенными плагинами) автосохранение может вызывать конфликты.
Поэтому возникает задача — отключить автосохранение или изменить его поведение, сохранив при этом безопасность данных.
Как отключить автосохранение с помощью кода
Самый простой и надежный способ — добавить специальный фильтр в файл functions.php вашей темы или в собственный плагин.
Отключение автосохранения полностью
Для полного отключения функции автосохранения добавьте следующий код:
function wpplugins_disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'wpplugins_disable_autosave');Этот код отменяет регистрацию скрипта autosave, из-за чего автосохранения не происходят. Учтите, что в этом случае вы рискуете потерять данные при случайном закрытии редактора.
Изменение интервала автосохранения
Если отключать автосохранение полностью не хочется, можно увеличить интервал между автосохранениями, например, до 10 минут (600 секунд):
function wpplugins_change_autosave_interval() {
return 600; // Время в секундах
}
add_filter('autosave_interval', 'wpplugins_change_autosave_interval');Это уменьшит нагрузку на базу данных и снизит количество ревизий.
Использование плагинов для управления автосохранением
Если не хотите заниматься кодом, можно использовать готовые плагины для управления автосохранениями и ревизиями.
Clearfy Pro
Плагин Clearfy Pro предлагает удобный интерфейс для отключения автосохранения, ревизий и других функций оптимизации. Это безопасный и проверенный способ без правок кода.
Disable Autosave
Простой бесплатный плагин, который сразу отключает автосохранение. Подходит для тех, кто хочет быстро решить задачу без настройки.
Дополнительные советы и рекомендации
Удаление старых ревизий
Если вам не нужно отключать автосохранение, но хочется уменьшить размер базы данных, полезно удалить старые ревизии. Для этого можно использовать запрос SQL:
DELETE FROM wp_posts WHERE post_type = 'revision';Или воспользоваться плагинами оптимизации, например, Clearfy Pro.
Проверка совместимости
Перед отключением автосохранения убедитесь, что ваш сайт и плагины не зависят от этой функции. Особенно это важно для редакторов Gutenberg и плагинов с автообновлением контента.
Резервное копирование
Перед внесением изменений всегда делайте резервную копию базы данных и файлов сайта, чтобы можно было быстро восстановить работоспособность при ошибках.
Пример собственного плагина для отключения автосохранения
Если хотите оформить отключение автосохранения в виде плагина, создайте файл wpplugins-disable-autosave.php с таким содержимым:
<?php
/*
Plugin Name: WPPlugins Disable Autosave
Description: Отключает автосохранение в WordPress
Version: 1.0
Author: WPPlugins
*/
function wpplugins_disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'wpplugins_disable_autosave');Активируйте плагин через панель администратора — автосохранение будет отключено.
Выводы по отключению автосохранения в WordPress
Отключение автосохранения — решение для специфических задач, когда оно мешает работе или создает нагрузку. Используйте код или плагины, учитывая риски потери данных. При необходимости повышайте интервал автосохранения, а не отключайте его целиком. Для оптимизации базы удаляйте старые ревизии и делайте резервные копии.