Як зберігаються thumbnails зображення в WordPress
Всі зображення в WordPress зберігаються подібно до постів у таблиці wp_posts з типом attachment.
Знайдемо зображення за назвою самого файлу:
Я прибрав з результату несуттєві дані:
Також зображення містить додаткові мета-дані у таблиці wp_postmeta:
Доступні розміри мініатюр та назви зображень мініатюр зберігаються в meta-даних як серіалізований масив (мета-поле _wp_attachment_metadata):
Формат серіалізованого масиву з доступними мініатюрами:
Ну і представлення самих файлів у каталозі uploads/:
Щоразу коли мені необхідно працювати з мініатюрками зображень - я задаюсь одним питанням: "Чому мініатюрки з коробки не генеруються на льоту?". Ось чому б не генерувати зменшене зображення за першого запиту? Натомість, у WordPress потрібно заздалегідь задати всі необхідні розміри картинок, які будуть генеруватися при завантаженні картинки.
Недоліки такого підходу:
- При додаванні нового розміру мініатюри, старі картинки не міститимуть цю мініатюрку. Вже потрібно ставити плагін для перегенерації мініатюр. Але згодом у вас збереться картинок на десятки гігабайт. Геморой..
- Якщо блог розгорнуть на кількох оточеннях (local, stage, prod) – рано чи пізно вам доведеться тягнути картинки із сервака. По-перше, поки завдання не стосуються використання мініатюр - ви, звичайно, можете прокинути запити на продакшн сервер за допомогою того ж веб-сервера. Але коли-небудь вам потрібно затягнути на локалку всі гігабайти ваших картинок.
#wp attachment images, #wp preview images, #wp images thumbnails