Как отключить автоматическое удаление старых изображений в медиабиблиотеке WordPress

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

Причины автоматического удаления изображений в WordPress

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

Основные причины автоматического удаления изображений могут быть:

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

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

Как отключить автоматическое удаление изображений через плагины

Если причиной стали плагины оптимизации, например, Clearfy Pro, WP-Optimize или Media Cleaner, то для отключения удаления нужно:

  1. Перейти в настройки соответствующего плагина.
  2. Найти раздел, связанный с очисткой медиабиблиотеки или удалением неиспользуемых файлов.
  3. Отключить автоматическое удаление или настроить исключения для важных папок и файлов.

Например, в Clearfy Pro есть настройки, позволяющие детально контролировать очистку, включая исключения для определённых типов файлов и папок.

Отключение автоматического удаления через functions.php или плагин

Если удаление происходит из-за кастомных функций или сторонних скриптов, можно добавить фильтр, предотвращающий удаление изображений по ошибке. Ниже пример функции с префиксом wponline_, которая блокирует удаление медиафайлов, если они связаны с записями:

function wponline_prevent_media_deletion( $maybe_delete, $post_id ) {
    $post = get_post( $post_id );
    if ( $post->post_type === 'attachment' ) {
        $parent_id = $post->post_parent;
        // Если у вложения есть родительская запись, отменяем удаление
        if ( $parent_id && get_post( $parent_id ) ) {
            return false; // Запрещаем удаление
        }
    }
    return $maybe_delete;
}
add_filter( 'wp_delete_file', 'wponline_prevent_media_deletion', 10, 2 );

Эта функция проверяет, имеет ли изображение родительскую запись. Если да — удаление отменяется, что помогает избежать случайной потери нужных файлов.

Использование плагинов для контроля и восстановления изображений

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

  • Media Cleaner — сканирует медиабиблиотеку и показывает неиспользуемые файлы, но удаляет их только после вашего подтверждения.
  • Regenerate Thumbnails — полезен для восстановления или пересоздания миниатюр после изменений в теме или размерах изображений.
  • WPRemark — позволяет создавать и управлять отзывами с изображениями, при этом контролируя загрузку и удаление медиафайлов.

Использование таких плагинов снижает риск потери файлов и помогает грамотно управлять медиабиблиотекой.

Дополнительные рекомендации по защите изображений

Для дополнительной безопасности и контроля изображений советуем соблюдать следующие практики:

  • Регулярно делать резервные копии сайта, включая папку uploads.
  • Проверять и документировать используемые плагины, особенно те, что работают с медиабиблиотекой.
  • Использовать пользовательские фильтры и хуки для контроля процесса удаления.
  • Ограничивать права доступа пользователей, чтобы предотвратить случайное удаление.
  • Мониторить логи сервера и WordPress для выявления подозрительных операций.

Такой комплексный подход поможет избежать потери данных и сохранит стабильность работы сайта.

Как настроить автоматическое удаление неиспользуемых вариаций товаров в WooCommerce
27.04.2026
Как удалить файлы из медиабиблиотеки WordPress правильно
10.11.2025
Как создать собственный шорткод в WordPress
06.11.2025
Оптимизация загрузки изображений в WordPress с помощью ленивой загрузки (lazy load)
23.12.2025
Как создать меню в WordPress с помощью хука wp_nav_menu_items
27.11.2025