Как хранить миниаютюры WordPress медиафайлов в отдельной папке?

Ссылка скопирована
1 ответ

Загружаю медифайлы в папку UPLOADS, миниатюры создаются в этой же папке, как их разместить в отдельной? Например Uploads/thumbnails

Дополнительно:

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

Ответы:

Попробуй этот плагин https://nl.wordpress.org/plugins/custom-upload-dir/

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Антон С. Ответ

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

Если задача только “чтобы было аккуратнее”, я бы не менял структуру. Стандартная структура WordPress ожидаема: uploads/2026/05/image.jpg, image-300x200.jpg, image-1024x683.jpg. Плагины, темы и WooCommerce знают, как с этим работать.

Если причина техническая: слишком много файлов в папке, включите разбиение по месяцам в настройках медиа или используйте offload/CDN. Если причина в размере диска, лучше оптимизировать изображения, удалять неиспользуемые размеры и пересобрать thumbnails.

Теоретически можно перехватывать генерацию путей через фильтры вроде wp_generate_attachment_metadata, но это сложная доработка. Нужно будет менять пути в metadata, корректно отдавать URL, поддерживать удаление файлов и регенерацию. Для обычного сайта это неоправданный риск.

Практичный вариант: оставить структуру WordPress, но отключить лишние размеры изображений:

add_filter('intermediate_image_sizes_advanced', function ($sizes) {
    unset($sizes['medium_large']);
    unset($sizes['1536x1536']);
    unset($sizes['2048x2048']);
    return $sizes;
});

add_filter('intermediate_image_sizes_advanced', function ($sizes) { unset($sizes['medium_large']); unset($sizes['1536x1536']); unset($sizes['2048x2048']); return $sizes; });

После этого пересоберите миниатюры и удалите старые лишние размеры. Это решит большинство проблем без нестандартной файловой схемы.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно