Автосохранение в WordPress — полезная функция, которая помогает избежать потери данных при создании или редактировании записей. Однако в некоторых случаях автосохранение может мешать: например, при работе с кастомными типами записей, когда постоянные сохранения вызывают нагрузку на сервер, или при специфических настройках плагинов и тем, где нужно полностью контролировать процесс сохранения.
Почему стоит отключать автосохранение в WordPress
Автосохранение работает по умолчанию каждые 60 секунд, создавая временные версии поста. Это увеличивает количество записей в базе данных, что может замедлять работу сайта. Кроме того, если вы используете сторонние инструменты для сохранения данных или версионирования, штатное автосохранение становится лишним.
Также автосохранение может приводить к конфликтам с плагинами, например, с теми, которые управляют версиями, либо с плагинами кеширования. В ряде случаев администраторы хотят отключить автосохранение для конкретных типов записей или для всего сайта.
Как отключить автосохранение средствами WordPress
Самый простой способ отключить автосохранение — добавить небольшой код в файл functions.php вашей темы или в отдельный плагин. Вот пример функции, которая отключает автосохранение глобально:
function wpcom_disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'wpcom_disable_autosave');Этот код отменяет регистрацию скрипта autosave, и автосохранение перестает работать на всех страницах редактирования.
Однако такой подход отключит автосохранение полностью, что не всегда желательно. Рассмотрим более тонкие настройки.
Отключение автосохранения для конкретного типа записи
Если нужно отключить автосохранение только для кастомного типа записи, можно добавить проверку в функцию:
function wpcom_disable_autosave_for_cpt() {
global $post;
if ( isset( $post->post_type ) && $post->post_type === 'your_cpt' ) {
wp_deregister_script('autosave');
}
}
add_action('wp_print_scripts', 'wpcom_disable_autosave_for_cpt');Замените your_cpt на свой тип записи. Так автосохранение отключится только при редактировании этого типа.
Альтернативные способы контроля автосохранения
Вместо полного отключения можно увеличить интервал автосохранения, чтобы оно срабатывало реже. Это снижает нагрузку, но сохраняет защиту от потери данных.
Добавьте в functions.php такой код:
function wpcom_increase_autosave_interval() {
return 300; // интервал в секундах (5 минут)
}
add_filter('autosave_interval', 'wpcom_increase_autosave_interval');Это изменит интервал автосохранения с 60 секунд на 5 минут.
Отключение ревизий как дополнение
Иногда стоит отключить ревизии записей, чтобы уменьшить размер базы данных. Это делается так:
define('WP_POST_REVISIONS', false);Добавьте эту строку в файл wp-config.php. Однако учтите, что отключение ревизий убирает возможность отката к предыдущим версиям постов.
Использование плагина Clearfy Pro для управления автосохранением
Если не хочется лезть в код, можно воспользоваться плагином Clearfy Pro. В нем есть настройки, позволяющие отключать или настраивать автосохранение, ревизии, а также оптимизировать работу сайта.
Clearfy Pro удобен тем, что позволяет гибко управлять такими параметрами без риска повредить сайт, что особенно полезно для новичков и средних пользователей.
Выводы и рекомендации
Отключать автосохранение в WordPress стоит только при наличии веских причин — например, при высокой нагрузке или конфликтах с плагинами. В большинстве случаев лучше просто увеличить интервал или использовать плагин для управления этой функцией.
Полное отключение автосохранения через wp_deregister_script('autosave'); — самый простой способ, но он универсален и груб. Лучше настраивать функцию избирательно и тестировать на тестовом сайте.
Если нужна помощь с оптимизацией и управлением функциями WordPress, рекомендую посмотреть Clearfy Pro — плагин, который решит многие задачи без лишнего кода.