Как отключить автосохранение в WordPress: практические методы и примеры кода

Автосохранение — важная функция WordPress, которая регулярно сохраняет черновики вашей записи, предотвращая потерю данных. Однако в некоторых случаях автосохранение может вызывать конфликты с плагинами, замедлять работу редактора или создавать нежелательные версии записей. В этой статье мы подробно рассмотрим, как отключить автосохранение в WordPress, рассмотрим плюсы и минусы такого решения, а также приведём рабочие примеры кода.

Что такое автосохранение в WordPress и зачем его отключать

Автосохранение — механизм, который автоматически сохраняет изменения в записи или странице каждые 60 секунд (по умолчанию). Это помогает не потерять текст при случайном закрытии браузера или сбое. Однако:

  • Если вы используете сторонние конструкторы или плагины с собственным механизмом сохранения, автосохранение может вызывать конфликты.
  • Большое количество автосохранений увеличивает размер базы данных, что может замедлять работу сайта.
  • Редкие пользователи предпочитают сохранять данные вручную и не хотят видеть постоянно обновляющиеся версии.

Поэтому во многих случаях отключение автосохранения является оправданным решением.

Методы отключения автосохранения в WordPress

Отключение автосохранения через functions.php

Самый простой способ — добавить небольшой код в файл functions.php вашей темы или в отдельный плагин. Вот пример функции, которая отключает автосохранение:

function wphide_disable_autosave() {
    wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'wphide_disable_autosave');

Этот код отменяет регистрацию скрипта autosave, тем самым полностью отключая функцию автосохранения в админке.

Отключение автосохранения через фильтр

Другой способ — через фильтр, который уменьшает интервал автосохранения до бесконечно большого значения, фактически отключая его:

function wphide_change_autosave_interval() {
    return 99999999; // Интервал в секундах
}
add_filter('autosave_interval', 'wphide_change_autosave_interval');

Этот метод менее радикальный, чем отключение скрипта, но достигает похожего результата.

Отключение автосохранения для определённых типов записей

Иногда нужно отключить автосохранение только для кастомных типов записей (CPT). Вот пример, как это сделать:

function wphide_disable_autosave_for_cpt() {
    global $post_type;
    if ( 'your_cpt_slug' === $post_type ) {
        wp_deregister_script('autosave');
    }
}
add_action('admin_print_scripts-post-new.php', 'wphide_disable_autosave_for_cpt');
add_action('admin_print_scripts-post.php', 'wphide_disable_autosave_for_cpt');
<

Замените your_cpt_slug на нужный вам тип записи.

Плюсы и минусы отключения автосохранения

Преимущества

  • Уменьшается нагрузка на сервер и база данных.
  • Устраняются конфликты с плагинами, которые мешают работе автосохранения.
  • Упрощается процесс редактирования для опытных пользователей, которые не нуждаются в автосохранениях.

Недостатки

  • Риск потерять данные при случайном закрытии вкладки или сбое браузера.
  • Пользователи должны помнить о необходимости ручного сохранения изменений.
  • Если вы отключаете автосохранение глобально, это может повлиять на всех редакторов сайта.

Советы по безопасному отключению автосохранения

Если вы решили отключить автосохранение, учитывайте несколько важных моментов:

  • Рекомендуется делать это только для опытных пользователей, либо для определённых типов записей.
  • Перед внесением изменений создайте резервную копию сайта и базы данных.
  • Тестируйте сайт на тестовом стенде, чтобы убедиться, что отключение не вызвало ошибок.
  • Рассмотрите возможность использования плагина Clearfy Pro, который позволяет управлять многими функциями WordPress, включая автосохранение, через удобный интерфейс без кода.

Вывод

Отключение автосохранения в WordPress — полезный приём в некоторых случаях, особенно если вы сталкиваетесь с конфликтами или хотите оптимизировать работу сайта. Главное — делать это осознанно и с пониманием последствий. Используйте приведённые выше методы и тестируйте изменения, чтобы обеспечить стабильность и безопасность вашего ресурса.

⭐⭐⭐⭐⭐