При смене темы оформления в WordPress, вместо миниатюр для существующих записей мы иногда видим оригиналы изображений. Это происходит из-за того, что миниатюры требуемого размера небыли созданы в момент загрузки изображения, а с помощью плагина Regenerate Thumbnails эту проблему можно решить.
Размеры изображений
В WordPress есть понятие «размеры изображений» которых по умолчанию всего три — крупный, средний и миниатюра. При загрузке изображений в медиатеку, WordPress создает новый файл для каждого размера, т.е. если посмотреть в директорию загрузок, часто можно увидеть следующее:
- photo.jpg
- photo-150×150.jpg
- photo-300×126.jpg
- photo-672×360.jpg
Здесь видно, что к оригинальному изображению photo.jpg было создано три дополнительных файла для наших размеров. Размеры по умолчанию в WordPress можно изменять в разделе Параметры → Медиафайлы, а используются они при вставке изображений в записи, при создании галерей и в других местах.
Помимо размеров по умолчанию, в WordPress можно регистрировать дополнительные размеры с помощью тем или плагинов. Например если плагин выводит виджет с популярными записями в боковой колонке, он может сопровождать их изображениями размером 50×50 пикселей. Или тема, которая выводит записи сеткой, может использовать изображения размером 200×200 пикселей.
Стоит снова отметить, что создание файлов различных размеров происходит именно в момент загрузки изображений в медиатеку.
Таким образом, при активации темы WordPress, которая использует другие размеры, файлы для этих размеров не существуют для ранее загруженных изображений. В таком случае WordPress будет использовать максимально приближенные имеющиеся размеры или оригиналы изображений.
Это часто приводит к тому, что наш дизайн «плывет» или миниатюры на главной странице сайта весят по несколько мегабайт.
Плагин Regenerate Thumbnails
Популярный плагин Regenerate Thumbnails позволяет обновить или перегенерировать все размеры изображений для всех существующих файлов в медиатеке WordPress. Сделать это можно в разделе Инструменты → Regen. Thumbnails:
Если вы хотите обновить размеры только для определенных изображений в медиатеке WordPress, сделать это можно в разделе Медиафайлы → Библиотека. В настоящий момент плагин Regenerate Thumbnails работает только в режиме списка:
Несмотря на название плагина, он обновляет все зарегистрированные размеры изображений, а не только миниатюры. После обновления требуемых миниатюр, плагин Regenerate Thumbnails можно деактивировать.
Альтернативы
Обновить все размеры изображений можно командой wp media regenerate
если вы используете утилиту WP-CLI. Сгенерировать размеры «по требованию» позволит плагин Dynamic Image Resizer, а с помощью модуля Photon популярного плагина Jetpack можно генерировать размеры «на лету» с помощью CDN-сервисов сети WordPress.com.
В самом ядре WordPress также появится возможность генерировать размеры изображений «на лету». Следить за развитием данного функционала можно в баг-трекере WordPress.